Karmaşık istemci tarafı JavaScript geliştirme etrafında farklı yaklaşımların ve en iyi uygulamaların manzarasını anlamaya çalışıyorum.
Belki de ağır AJAX veya RIA (Flash / Silverlight gibi eklentiler değil) bu uygulama sınıfını ne etiketleyeceğinden emin değilim . Bu özelliklere sahip web uygulamalarından bahsediyorum:
- JavaScript'te zengin / yerel masaüstü UX'u taklit edin
- Sunucuyu veri API'si (JSON / Html-Templates) olarak kullanarak, istemci tarafı JS'deki davranışların çoğunu / tümünü içerir.
Bu, sayfa yenileme modelindeki tüm HTML'yi oluşturarak UI oluşturma için web sunucusunu kullanmaktan farklıdır.
Bazı örnekler:
- Google Dokümanlar / Gmail
- Mindmeister
- Temel İzleyici
HTML5'e geçtikçe, ağır JavaScript'le bu RIA geliştirme tarzını görebiliyorum, rekabet etmek daha yaygın ve gerekli hale geliyor.
SORU: Öyleyse bu tür ağır JS gelişmelerini yönetmek için ortaya çıkan ortak yaklaşımlar nelerdir?
İstemci tarafı kodu, bir uygulama özelliklerinde büyüdükçe, son derece karmaşıktır. Raw JS ile birden fazla ekip arasında bir geliştirme çabasını ölçeklendirmede sorunlar var (ya da duyuyorum ve buna inanabilirim).
Google, daha üst düzey bir dilden (Java) JS'ye derleyen GWT'yi oluşturarak, daha üst düzey dilin sahip olduğu mevcut geliştirme altyapısına (Eclipse, güçlü yazım, yeniden düzenleme araçları) ve tarayıcı uyumluluğunu ve geliştiriciden uzak diğer sorunlar.
C # için Script # gibi benzer bir şey yapan başka araçlar da vardır. Bütün bunlar JS'yi bir IL (Ara Dil) rolüne daha fazla koyar. yani. "Artık bu 'düşük seviyeli dilde' asla gerçekten yazmıyorsunuz."
Ancak bu 'JS'ye derleme' tek yaklaşım değildir. GWT'nin baskın yaklaşım olduğu belli değil ... ya da gerçekten olacak.
Kullanıcılar zengin istemci JavaScript ile ne yapıyor? Bazı yönlendirme soruları:
- Çoğu dükkan JS'yi elle mi üretiyor (jQuery ve ark gibi kütüphanelerin üstünde)?
- Yoksa açık bir en iyi uygulama ortaya çıkmadan birçok farklı yaklaşım var mı?
- Çoğu mağaza, geliştirici sunucu tarafı / sayfa yeniden çizim modelinin daha basit olması lehine RIA ölçeği geliştirmesinden kaçınıyor mu? Varsa, bu sürecek mi?
- JS'ye derlemek belki de gelecekteki bir trend midir? Yoksa bu sadece yanlış mı?
- İstemci JS'nin karmaşıklığını ve yeniden düzenlemesini nasıl yönetiyorlar?
- Çalışmaların modüler hale getirilmesi ve ekipler arasında dağılımı?
- MVC / MVP vb. Gibi istemci tarafı modellerin uygulanması, uygulanması ve test edilmesi
Peki, bu ağır JavaScript ve HTML5 geleceğimizde ortaya çıkan trendler neler?
Teşekkürler!