Ne Java Server ana dezavantajları 2.0 Yüzler?
Dün Java Sunucu ile ilgili bir sunum şu anda mutlu ASP.NET MVC / jQuery geliştirici olmama rağmen gerçekten etkileyici görünüyordu, 2.0 Yüzler gördüm. AKSARAY en çok hoşuma giden şey gelişim çok daha hızlı ASP.NET MVC, özellikle AJAX-ağır sitelerde daha hale getirdiği AJAX-Etkin UI bileşenleri büyük miktarda oldu. Entegrasyon test çok da güzel görünüyordu.
Sunum tek OLUMSUZLUK avantajları vurguladı yana, diğer tarafı da dinlemek istiyorum.
Bu yüzden benim sorular şunlardır:
- Ne Java Server ana dezavantajları 2.0 Yüzler?
- AKSARAY geliştirici OLUMSUZLUK yerine ASP.NET MVC kullanarak düşünün ne olabilir?
CEVAP
2.0 dezavantajları AKSARAY? Dürüst olmak gerekirse, başka bir göreli dik bir öğrenme eğrisi zaman gerek yok sağlam bir arka plan hakkında bilgi sahibi basic Web Development (HTML/CSS/JS, sunucu tarafı karşı tarafı istemci, vb.) ve basic Java Servlet API (istek/yanıt/oturum, iletme/yönlendirme, vb), ciddi dezavantajları gelir akla. Şimdiki sürümünde OLUMSUZLUK hala sırasında birkaç ciddi dezavantajları vardı erken çağlarda başlamıştır Negatif görüntü, kurtulmak gerekir.
AKSARAY 1.0 (Mart 2004)
Bu ilk sürümü oldu. Bilmek istemezsin hem de çekirdek ve performans alanlarda böcekler ile darmadağın oldu. Senin webapplication her zaman sezgisel olarak beklediğin gibi olmadı. Siz geliştirici olarak sabit ağlayarak çalışır.
AKSARAY 1.1 (Mayıs 2004)
Bu hata düzeltme sürümü oldu. Performansı hala çok gelişmiş değil. Aynı zamanda büyük bir dezavantajı vardı: satır içi kusursuz OLUMSUZLUK sayfa. HTML giremezsin Tüm düz vanilya HTML render almakönceAKSARAY bileşen ağacı. AKSARAY bileşen ağacında dahil olsun <f:verbatim>
etiketleri düz vanilya sarmalıyız. Bu şartname başına olmasına rağmen, bu eleştiri bir sürü aldı.
AKSARAY 1.2 (Mayıs 2006)
Bu yeni AKSARAY geliştirme ekibi Ryan Lubke yol ilk sürümü oldu. Yeni takım büyük bir sürü iş yaptı. Ayrıca spec değişiklikleri vardı. Büyük değişim görünüm işleme gelişme oldu. Bu sadece tam olarak görüntülemek teknoloji olarak JSP gelen AKSARAY müstakil, ama aynı zamanda geliştiriciler <f:verbatim>
etiketleri ile tartışmadan da OLUMSUZLUK sayfa düz HTML vanilya içi için izin verdi. Yeni ekibin bir başka önemli odak performansını artırma. Güneş AKSARAY ömrü boyunca Referans Uygulama 1.2 kod adı . ( ^em>Mojarra bağlamda1.2_08, 2008) inşa beri, hemen hemen her yapı (büyük) performans artışı ile normal (küçük) hata düzeltmeleri yanında sevk var.
AKSARAY 1 Tek ciddi dezavantajı.x (1.2 dahil) arasındaki bir kapsam eksikliğidiristekveoturumkapsam, sözdekonuşmakapsam. Bu zorunlu geliştiriciler için güçlük ile gizli giriş öğeleri, gereksiz DB sorguları ve/veya kötüye oturum kapsamı zaman bir tane istiyorum aracımı ilk modeli veri sonraki istek için başarılı bir proses doğrulamaları, dönüştürmeleri, model değişiklikleri ve eylem çağırmaları içinde daha karmaşık webapplications. Ağrı olabilir yumuşatılmış tarafından evlat edinen bir 3. parti kitaplığı olan tutar gerekli veriler bir sonraki isteği gibi MyFaces Tomahawk <t:saveState>
bileşen, JBoss Seam konuşma kapsam ve MyFaces Orchestra konuşma çerçevesi.
Başka bir dezavantaj AKSARAY kullanır kolon :
KİMLİK ayırıcı karakter olmak teklik HTML elemanı id
oluşturulan HTML çıktısı, özellikle bir bileşenidir yeniden birden fazla görünüm (şablon, yineleme bileşenleri, vb). Çünkü bu yasadışı bir karakter CSS tanımlayıcıları, CSS geliştiriciler için ne yapmalıyım kullanın \
escape the colon in CSS selectors ortaya çıkan çirkin ve tuhaf görünüşlü seçiciler gibi #formId\:fieldId {}
hatta #formId\3A fieldId {}
.
Ayrıca, AKSARAY 1.x kutudan ajaxical tesisleri ile gemi yoktu. Gerçekten teknik bir dezavantaj, ama Web 2.0 yutturmaca nedeniyle, fonksiyonel bir dezavantaj oldu. Exadel iyice yıllarda geliştirildi ve JBoss RichFaces bileşen kütüphanesi temel parçası haline gelen Ajax4jsf, tanıtmak için erken olduğunu belirtti. Başka bir bileşen kütüphaneleri ajaxical güçler de, tanınmış kişi IceFaces olmak yerleşik sevk edildi.
Teknoloji tanıtıldı yaklaşık yarım OLUMSUZLUK 1.2 ömrü, yeni XML tabanlı bir görünüm: Facelets. Bu JSP yukarıda büyük avantaj, özellikle şablon alanında sundu.
AKSARAY 2.0 (Haziran 2009)
Bu ikinci büyük sürümü oldu. Teknik ve işlevsel bir çok değişiklik vardı. JSP varsayılan görünüm teknoloji ve Facelets yetenekleri ile özel bileşenler saf XML (sözde composite components) kullanarak oluşturmak için genişletildi olarak Facelets ile değiştirilir. Ajaxical güçler <f:ajax>
bileşen lezzet tanıtıldı ve Ajax4jsf ile çok benzerlikler vardır. Ek açıklamalar ve-kongre-yapılandırma geliştirmeleri kill ayrıntılı faces-config.xml
dosya için mümkün olduğunca tanıtıldı. Ayrıca, 10* *ID ayırıcı karakteri yapılandırılabilir oldu. Tüm yapmanız gereken tanımlama olarak init-param
web.xml
ad javax.faces.SEPARATOR_CHAR
ve sağlanması bu değil mi kullanarak karakteri kendini her yerde İstemci KİMLİK gibi -
.
Son ama en az değil, yeni bir kapsam tanıtıldıgörünümkapsam. Bir başka önemli OLUMSUZLUK 1 ortadan kaldırmıştır.x dezavantaj olarak daha önce açıklanan. Sadece fasulye @ViewScoped
tüm yollar (sohbet) sonraki istekleri verileri korumak için sürekli rahatsız olmadan konuşmanın kapsamı etkinleştirmek için bildirin. @ViewScoped
fasulye daha sonra gönderme ve navigasyon sürece aynı görüşü açık tarayıcı sekmesinde bağımsız olarak/pencere!) yaşayacak ya zaman uyumlu veya zaman uyumsuz () ajaxical.
Ancak pratikte AKSARAY 1 Bütün dezavantajları.x elendi, AKSARAY, çok çekici bir kadın haline gelebilir 2.0 belirli hatalar vardır. Eğer parça currently open JSF 2.x issues, göreceksin nispeten çok ilgili bazen sezgisel olmayan davranış <ui:repeat>
ve yeni kısmi devlet tasarrufu uygulaması ve bunun yanı sıra çoğu zaman sadece gösterir nispeten karmaşık görünümler. Ayrıca, tavuk-yumurta nedeniyle @ViewScoped
fails in tag handlers kısmi devlet tasarruf sorunu. Bunların çoğu ancak workaroundable. Önümüzdeki AKSARAY 2.2, o çok fazla sorun giderildi.
2.0, daha fazla OLUMSUZLUK ile güzel bir bileşen kütüphaneleri, Diğerleri 35 ** arasında doğmuş ve OpenFaces.
Bileşen vs Talep MVC tabanlı MVC tabanlı
Bazı OLUMSUZLUK büyük dezavantajı oluşturulan HTML/CSS/JS üzerinde çok az ince taneli kontrol sağlar olduğunu tercih edebilir. Bu OLUMSUZLUK kendi, bir şey olduğu için değilbileşen tabanlıMVC çerçevesi, bir değilistek (eylem) tabanlıMVC çerçevesi. Eğer yüksek derecede bir kontrol HTML/CSS/JS senin önemli şartı, ne zaman düşünen bir MVC çerçeve, olmalısın zaten yok olmak isteyen bir bileşen tabanlı bir MVC çerçeve, ama bir istek tabanlı bir MVC çerçeve gibi Spring MVC. Sadece/CSS/JS demirbaş kendinizi HTML tüm yazacaksın bunu dikkate almak gerekir.
Ayrıca Bkz:
- What is the difference between JSF, Servlet and JSP? (sadece temellerini anlamak için)
- JSF vs JSP/HTML for an enterprise webapplication (must-read başka bir OLUMSUZLUK 1 içerir.x eleştiri)
- Using JSF to develop tableless CSS layouts OLUMSUZLUK hakkında başka bir efsane
- The benefits and pitfalls of
@ViewScoped
(temel CRUD bir örnek içerir) - JSF versus plain HTML/CSS/JS/jQuery? AKSARAY, yanlış bir seçim
- Design patterns in web applications (ideoloji arkasında/bileşen MVC tabanlı isteğini gösterir)
Arasındaki gerçek farklar "java -...
Java kullanarak Java SE server sadece ...
Web uygulaması ve Java server Javascri...
Java 6 @javax EE.açıklama.@ManagedBean...
Cassandra server java atar.lang.Assert...