Merak ettim
O alanda geliştiriyorum kendimi bende. JS’den sonra neye yönelmemi önerirsiniz?
Bazı JS araçları ve sonrasında Framework'ler tabii. Piyasayı domine eden üç framework var; ReactJS, VueJS, AngularJS. Ben hem Vue hem de React tarafında ellerimi kirlettim. Son zamanlarda React tarafındayım çünkü gördüğüm ve duyduğum kadarıyla çoğu firma React ile çalışıyor. Benim de geçişimi hızlandıran etken bu oldu. Angular tarafını denemediğim için bir şey diyemiyorum ama Vue kodlarken keyif alıyordum, React tarafına geçince bazı durumlara çok fazla sinir olmaya başladım. Şu an görüştüğüm firmayla tech-stack'lerimiz uyuşmuyor ama ReactJS üzerinden task veriyorlar.
JS araçları kısmında; Babel, Webpack, Gulp vs. araçlarını bilmen iyi olur açıkçası. Ne işe yarar bu araçlar dersen, Babel'den örnek vereyim: ES6 ve üzeri standartlarda kod yazdığında, bu kodları Babel ile ES5 standardına çeviriyorsun. Bu çok önemli çünkü bütün tarayıcılar ES6 ve üzeri standartlarda yazılmış kodları algılayamıyor. Ama ES5 standardıyla yazılmış kodları bütün tarayıcılar anlayabiliyor. Hazır lafı geçmişken, bu ES standartlarını bilsen iyi olur. Framework öğrenirken yükünü hafifletirler. Sonrasında, "Burada niye böyle bir kod yazılmış, ne işe yarıyor?" diye kalma diye söylüyorum.
Bunun dışında API mantığını da bilmen güzel olur. Zaten framework'leri öğreten kaynaklara mutlaka değinirler buna. Ekstra olarak bazı firmalar SCSS, SASS, LESS gibi CSS pre-processor'leri bilmeni isteyebilir. Bakma isminden karışık olduğuna, CSS'i bir tık daha fonksiyonel ve "yazılımsal" hale getirmeyi sağlıyor. Aslında üçü de aynı fakat syntax'ları değişik.
Bunların yanı sıra TypeScript de çokça isteniyor. O ne dersen, tam olarak nasıl anlatabilirim bilmiyorum ama JS üzerinde eklenmiş bir dil gibi düşünebilirsin. JavaScript'i "eski nesil" (C#, Java vs.) gibi dillerin özelliklerini ekleyerek kodladığını düşün. Hataları azaltmak, daha kontrollü ve fonksiyonel yazımlar için tercih ediliyor. Bu konuda tam yetkin olmadığım için böyle üstün körü açıkladım.
NPM ve Git. Bu iki kavramı ve bu araçları nasıl kullanacağını bilmen önemli çünkü birçok araç NPM paket yükleyicisi ile kullanılıyor ve projeler Git'ile, GitHub gibi depolama servislerine yükleniyor. GitHub hesabın (ya da türevi) senin yazılımcı CV'n.
Özet:
Framework (VueJS, ReactJS, AngularJS),
JS araçları (Babel, Webpack vs.),
TypeScript,
API mantığı,
NPM & Git,
CSS Pre-Processor (SASS, SCSS) (Ekstra, öğrenirsen artı olur. Ama diğerleri hayli vaktini alacak bence tüm gücünü onlara ver. SCSS, SASS zor değil.)
Atladığım ve/veya dalgınlığıma gelip unuttuğum ve/veya tam izah edemediğim şeyler için üzgünüm. Elimden geldiğince yardımcı olmaya çalışmak istiyorum sadece.