Uzun zamandır web programcılığı yapıyorum ve bir yerlerde, bugün ne yaptığımızı neden yaptığımızı (ya da nasıl bu şekilde işler yapmaya geldik) izini kaybettim?
Temel ASP web geliştirme ile başladım ve çok erken, ekran ve iş mantığı sayfada karışık oldu. Müşteri tarafı gelişimi çılgınca değişiyordu (VBScript, farklı JavaScript tatları) ve sunucu tarafı doğrulamaları hakkında çok fazla uyarı aldık (ve böylece müşteri tarafı mantığından uzak durdum).
Daha sonra bir süre ColdFusion'a taşındım. ColdFusion muhtemelen ekran ve işletme mantığını etiketlerini kullanarak ayıran ilk web geliştirme çerçevesiydi. Bana çok net görünüyordu, ama çok ayrıntılı ve ColdFusion yüksek pazar talebinde değildi ve ben de devam ettim.
Sonra ASP.NET grubu vagonuna atladım ve MVC yaklaşımlarını kullanmaya başladım. Java'nın kurumsal sistemlerin fildişi kule dili gibi göründüğünü farkettim ve ayrıca MVC yaklaşımlarını denedim. Daha sonra, ASP.NET bu MVVM tasarım modelini geliştirdi ve Java (tam olarak, J2EE veya JEE) de MVC2 yaklaşımlarıyla mücadele etti ve çıktı.
Fakat bugün keşfettim, arka uç programlamanın artık heyecan ve ilerlemenin olmadığı yer. Ayrıca, sunucu tarafı tabanlı MVC uygulamaları modası geçmiş gibi görünüyor (insanlar artık gerçekten JSTL kullanıyor mu?). Bugün, üzerinde bulunduğum çoğu projede, JavaScript çerçevelerinin ve müşteri tarafı gelişimin tüm heyecan verici ve yenilikçi ilerlemelerin yapıldığı yer olduğunu öğrendim.
Sunucudan müşteri tarafı gelişimine bu hareket neden gerçekleşti? JEE projelerimden birine basit bir satır sayımı yaptım ve JavaScript'te Java'dan (üçüncü taraf kütüphaneleri hariç) daha fazla kod satırı var. Java veya C # gibi programlama dillerini kullanan çoğu arka uç gelişiminin yalnızca REST benzeri bir arabirim üretmek olduğunu ve görüntüleme, görselleştirme, veri girişi / çıkışı, kullanıcı etkileşimleri, vb. Gibi tüm zor çabaların ele alındığını biliyorum. Açısal, Omurga, Ember, Nakavt, vb gibi müşteri tarafındaki çerçeve üzerinden ...
JQuery öncesi dönemde, MVC'de M, V ve C arasında n-katmanlı gelişimde açık, kavramsal bir çizginin olduğu bir sürü diyagram gördüm. JQuery sonrası, bu çizgiler nerede çizilir? Görünüşe göre MVC ve MVVM orada JavaScript kodunda, müşteri tarafında.
Bilmek istediğim şey, neden böyle bir geçiş yaptık? (Sunucu tarafı programlamanın vurgusundan müşteri tarafına, derlenmiş dilleri tercih etmekten, komut dosyası dillerine, zorunluluktan işlevsel programlamaya, bunların hepsi aynı anda olmuş gibi görünüyor). ) ve bu geçiş / kayma hangi sorunları çözdü?