AJAX
Bence sorunuz "Web uygulamam istemci tarafında mı yoksa sunucu tarafında mı HTML oluşturmalı?" İstemci tarafı üretimi sunucuya AJAX kullanarak iletişim kurar, ancak X (XML) genellikle JSON ile değiştirilir, ancak çoğu kişi hala daha iyi göründüğü için AJAX olarak adlandırır. Sunucu tarafında, sunucu sadece HTML üzerinde sunucu yapar.
XML ile çok fazla deneyimim var ve JSON ile neredeyse hiç yok. XML hakkında bildiğim her şey, mümkün olduğunda JSON kullanmanızı öneririm.
AJAX Artıları:
- Daha hızlı çalışabilmeleri için HTTP (S) üzerinden daha az veri gönderin.
- Sunucu temelde bir web hizmetidir, böylece diğer insanlar (veya siz) kendi istemcilerini yazabilir. Bu, sitenizin mobil bir sürümünü oluştururken yardımcı olabilir. Ayrıca, birçok icat yaratıcılarının asla istemediği nedenlerle popüler hale gelir. Hizmetler, kodunuz için yeni kullanımlar bulan kişilerin dostudur.
- Daha yeni bir uygulamaya benziyor
AJAX Eksileri:
- JavaScript'te hata ayıklama
- Karmaşıklık?
- JavaScript ile yapabileceğiniz şeyler, kör veya özürlü insanların kullanması için genellikle tamamen imkansızdır.
- Toplamda daha fazla kod gerekebilir (katıştırılmış cihazınızda daha büyük toplam depolama alanı)
Müşteri sunucusu
Tüm web uygulamaları istemci-sunucu mimarisini kullanır. HTTP protokolü, web uygulamalarını bu şekilde davranmaya zorlar. AJAX bu tasarım sınırlaması için bir geçici çözüm kullanır, ancak HTTP'nin temel altında yatan model hala istemci-sunucudur. MVC web uygulamalarına uygulamak için en iyi yolu hakkında her şeyi asmak olmaz. Politik nedenlerle MVC yapmak zorundaysanız, Ruby / Rails'in bunu nasıl yaptığına bakın. Aslında, Rails kopyalamak (veya kullanmak) için harika bir mimaridir.
Servis ve Uygulama
İyi bir hizmet neredeyse her zaman bir uygulamadan daha iyidir. Ama iyi bir hizmet yapmak zor! Bir hizmet için yeterince iyi tasarlanmış bir özellik yazmadan önce uygulamayı yapmanız gerekebilir. İşinizi olması gerekenden daha zor hale getirmeyin. Sürüm 1 için harika bir uygulama yapmaya odaklanın. Başvurunuz nispeten kararlı olana ve kullanıcı gereksinimlerinizi karşıladığından emin olana kadar, bir hizmete sahip olmak muhtemelen hiçbir şekilde iyi olmaz. Yanlış servisin çok erken tasarlanması, servis arayüzünüzü düzeltmeye ve izleyen hem sunucu hem de istemci kodunun büyük ölçüde yeniden düzenlenmesi ile uğraşırken boşa harcanan zaman kaybıdır.
C / Web
Vay. Web geliştirmeye geçmeden önce C ve Assembly'de 3 yıl çalıştım. Bir web uygulaması yazmak için daha kötü bir dil düşünemiyorum - özellikle güvenlik açısından. Girdi doğrulaması ve çıkış kaçışı çok önemlidir ... SANS her yıl en yaygın hataların bir listesini yayınlar. Arabellek taşmaları, enjeksiyonlar, siteler arası sorunlar (yanlış çıktı kodlaması) ... Bu hataların tümü C veya montajda gerçekten kolaydır. En azından Java gibi bir dilde taşmalara karşı bağışık olmayan bir Dize ve genellikle tek tek hataların kötü amaçlı kodların sistem belleğine erişmesine izin vermesini engelleyen bir özel durum işleme mekanizması vardır. Uluslararası karakter kümelerinin ele alınmasından bahsetmiyorum bile ( mümkünse UTF-8 kullanın ).
Bellek veya bellenim nedenleriyle C'yi kullanmanız gerekiyorsa, yapmanız gereken budur. Sadece dikkatli ol!
Tarayıcı Desteği
Bir web uygulaması yapmanın ilk adımı müşterileriniz tarafından hangi tarayıcıların kullanılacağını keşfetmek . W3Schools ve Wikipedia , genel istatistiklerin iyi kaynaklarıdır, ancak YMMV'dir.
Şu anda çalıştığım yerde şu anda uygulamamızın yalnızca geçerli XHTML 1.0 geçiş HTML'si oluşturduğunu doğrulıyoruz. Ayrıca özgü Doctype kullanabilir ve (ipuçları bkz yazma daha kolay çapraz tarayıcı HTML yapar IE olağandışı Modu, önlemek için gerekli biçimlendirme bloguma ). IE'nin son 3 sürümünü, Windows ve Linux'ta Firefox ve Chrome'u test ediyoruz (Safari, Chrome ile aynı oluşturma motorunu kullanıyor). Bu doğrulama ve testle, uygulamamız BlackBerry hariç hemen hemen her yerde (Windows, Mac, Linux, iPhone, Android vb.) Çalışır.
BlackBerry'nin hiçbir zaman JavaScript içeren gerçek bir tarayıcısı olmadığından desteklemiyoruz. BlackBerry kullanıcıları gerçek bir web tarayıcısına sahip değiller, bu yüzden şikayet etmiyorlar. Belki de bu değişiyor? Birkaç müşteriye hangi tarayıcıları kullandıklarını sormaya çalışır ve bu tarayıcılarla test etmeyi denerim.
özet
Tüm web siteleri HTML ve HTTP üzerine kurulmuştur. Başvurunuzu yaparken bu teknolojiler için iyi bir referansa sahip olun. Bir uygulama yaparken, bir araç setiyle bile, bu teknolojileri çözmek için bu teknolojileri temel bir anlayış gerektiren konularla karşılaşacaksınız.
İyi görünen ve hızlı bir şekilde yanıt veren bir şey yapmak için muhtemelen CSS ve görüntü sıkıştırma ile rahat olmanız gerekir. JavaScript, web sunucuları ve tarayıcılar, nihayetinde ihtiyacınız olacak ek bilgi alanlarıdır.
HTML'nizi sunucu tarafında oluşturursanız, kod tabanınız muhtemelen daha küçük olacaktır ve JavaScript öğrenmeniz gerekmeyebilir. Sunucu tarafı modeli, programcılarınızın istemciye gönderilmeden önce doğrudan bakabilecekleri HTML üreten kod (C?) Yazacakları anlamına gelir. AJAX modeli, programcılarınızın HTML üreten JavaScript yazacakları anlamına gelir. Bir tarayıcıda JavaScript tarafından oluşturulan HTML kodunu doğrulamak ve hatta görüntülemek için birçok aracın farkında değilim, bu da doğru programlamayı zorlaştırıyor.
Şimdi çalıştığım yerde, zaman zaman HTML üreten JavaScript üreten Java kodunu içeren karma bir yaklaşım kullanıyoruz. Web geliştirme konusunda yeniyseniz, burası başlamak için uygun bir yer değildir. Bir AJAX modelini kullanmak için zorlayıcı nedenleriniz olmadıkça, eski sunucu tarafı HTML oluşturma modeliyle başlayacağımı ve bunun ne kadar ilerlediğini göreceğimi söylemeliyim.