Eğer Senior seviyesinde bir geliştirici olma seviyesine geldiyseniz, Javascript ile çok rahat bir şekilde;

  • İstediğiniz her şeyi gerçekleştirebiliyor
  • Temiz kod yazabiliyor ve en iyi kodlama yöntemlerini kullanabiliyor
  • Becerilerinize güveniniz tam anlamına gelir.

Ama her zaman geliştirilecek yetenekler olacaktır. Bu aşamada artık temel programlama dilinizden, işinizi daha hızlandıracak ve kolaylaştıracak uygulama çerçevelerine(frameworks) geçme zamanı gelmiş demektir. Bu seviyede;

  • Javascript’e daha derinlemesine dalabilir
  • Arayüz Geliştirme Çerçevelerini(Frameworks)
  • Node gibi sunucu taraflı Javascript teknolojilerini
  • Test odaklı geliştirmeyi öğrenebilirsiniz.

Javascript’in Derinlerine İnmek

Javascript hakkında öğrenecek bir çok şey vardır. Geldiğiniz nokta sadece buzdağının görünen yüzü. Örneğin, Nesne tabanlı programlama ya da fonksiyonel programlamaya daha derinlemesine inebilir, aralarındaki farklılıkları öğrenebilir ve avantajları karşılaştırabilirsiniz. Her ikisini bir arada nasıl kullanabileceğinizi de öğrenebilirsiniz.

Eğer tasarıma daha çok meraklı iseniz animasyon kütüphanelerini araştırabilir, GreenSock Animasyon API’sini ya da flip tekniğini öğrenebilirsiniz.

Uygulamalarınızı ve bileşenlerinizi(components) kodunuzu yeniden yapılandırarak MVC(Model-View-Controller) yapısına uygun şekilde oluşturmayı düşünebilirsiniz. Ayrıca State Machines öğrenerek durum(state) yönetimini yeniden ele almayı düşünebilirsiniz.

Javascript Algoritmaları ve Veri Yapıları hakkındaki bilginizi geliştirebilir ve böylece daha performanslı kodlar yazabilirsiniz. Bu konuya odaklanmış eğitimlere göz atabilirsiniz.

Hazır hız konusuna değinmişken, web sitenizin performansını artıracak eğitimleri de inceleyebilirsiniz.

Son olarak, Javascript dili ile ilgili gelişmeleri ve güncellemeleri sürekli takip etmek de önemli bir iştir ve bunları öğrenmek de zamanınızı alacaktır. En son geliştirmeleri kullanmak istiyorsanız, iş akışı araçlarını anlamanız gerekir; Babel, Gulp, Webpack ve Rollup gibi.

 

Arayüz Geliştirme Çerçevelerini Öğrenmek

Seçebileceğiniz bir çok javascript arayüz geliştirme çerçevesi mevcuttur. Bunlardan en popüler olanlar; Google tarafından geliştirilen Angular, Facebook tarafından geliştirilen React ve Evan You tarafından geliştirilen Vue’dur. 

Başlangıç ​​kılavuzlarını ve eğitimlerini gözden geçirin. En çok hangi çerçeveyi sevdiğinizi görün. Sonra uzman olana kadar da ona bağlı kalın.

Hangisini seçeceğiniz konusunda çok fazla endişe etmenize gerek yok. Sonuçta hepsi aynı hedefi amaçlamaktadırlar ve size sunacakları sonuç aynıdır. Ancak yanlış bir tercih yaptığınızı düşünseniz bile endişelenmemelisiniz, çünkü birini öğrendikten sonra diğerlerine geçip öğrenmek ve kavramak çok daha kolaydır.

 

Sunucu Tarafında Web Geliştirmeye Geçiş

Eper javascript öğrendikten sonra sunucu tarafında çalışan teknolojilere geçiş yapma ihtiyacı hissederseniz, gideceğiniz yol az çok bellidir; Node.js

Node, sunucu tarafında çalışan javascript’tir. Bu seviyeye geldiğinizde, zaten halihazırda javascript biliyor olduğunuza göre, PHP, Python gibi yeni bir sunucu taraflı dil öğrenmenize gerek kalmadan kolayca Node öğrenerek hedefinize ulaşabilirsiniz.

Sunucu tarafı web geliştirme, arayüz geliştirmeden tamamen farklıdır. Bunun için 3 konuya hakim olmanız gerekir;

  • Sunucu: Arkaplanda, bir sunucuyu hızlı bir şekilde çalıştırmanıza yardımcı olacak Express.js gibi bir uygulama çerçevesi tercih edebilirsiniz.
  • Veritabanı: Bilgiyi depoladığınız yerdir. Tercih edebileceğiniz SQL tabanlı (MySQL, PostgreSQL) ya da No-SQL tabanlı (MongoDB) teknolojilerden faydalanabilirsiniz.
  • API Geliştirme

 

Test Tabanlı Geliştirme

Kod yazarken testler oluşturduğunuz bir yazılım geliştirme sürecidir. Testler uygulama geliştirme sürecinde çok önemlidirler, çünkü;

  • Uygulamanız yayınlanmadan önce hataları tespit etmenizi sağlarlar
  • Yayınlanacak olan kodunuza güveninizi artırır
  • Sizi daha iyi kod yazmaya zorlar.

Javascript Testleri yazmayı öğrenmek için Kent C. Dodds tarafından hazırlanan eğitimler gibi bir çok eğitimi internette bulabilirsiniz. Ayrıca Kent’in Blogunda da bu konuda pek çok faydalı içerik mevcuttur.