Başkaları tarafından belirtildiği gibi, bir takas ve doğru bilgiye sahip olma meselesidir.
Göz önünde bulundurmanız gereken tek sorun şudur: Sorunuzda web’in “platformlar arası” bir avantaj olarak gördüğünü söylüyorsunuz. Ama gerçekten mi? Bunu şu şekilde düşünün: masaüstü için bir şey geliştirirseniz, platformların listesini ve desteklenecek gereksinimleri tanımlamanız gerekir.
Hata yapma, web için aynı. Zaten eskisinden çok daha basit olmasına rağmen, geniş bir kamu uygulaması tasarlarsanız, orada her web tarayıcısının her olası sürümü ile uğraşmak zorunda kalacaksınız. Ve eğer bir kurumsal uygulamanın fazlasıysa, o zaman kendinizi destekleyin ve desteklenen tarayıcı platformları gereksinimlerinizi tam olarak hazırlamaya hazırlanın.
Önemli bir şey inşa ederseniz, burada ve orada platforma özgü kesmek zorunda kalacağınızı düşünmeyin.
Ve sonra eğlenceli kısımlar. En iyisi nedir? Chrome gibi kendilerini neredeyse saydam bir şekilde çok düzenli olarak güncelleyen tarayıcılar? Veya güvenliği sağlayanlar yalnızca aylık olarak güncellenir ve her taş çağında temel özellikler (IE gibi)? Cevap, düşündüğünüz kadar açık değildir, çünkü bu sık yapılan "şeffaf" güncellemelerin bazıları kodunuzu kırabilir ve bunu izlemeniz ve hemen tepki vermeniz gerekecektir. Veya geliştirirken ve test ederken beta ve geliştirme öncesi sürümlerine göz atın. Tüm tarayıcılar için aptalca destek olmak istediğini söyledin (iyi şanslar).
Ah ve kullanıcı arayüzü ile ilgili düşünceleri unutmayalım. Tutarlı bir UI isteyip istemediğinizi de karar sevincini karşıya ARASINDA tüm hedef platformlarda veya tutarlı UI WITH her bir sunucunun hedef platformunda . Web sayfalarında görüntüleyebileceğiniz tüm o küçük düğmeleri görüyor musunuz? Her yerde tamamen aynı olmalarını mı yoksa kullanıcı tarafından kullanılan çevre ile bütünleşmelerini mi istiyorsunuz? Tabii ki bu problem yeni geliştirme modelleri için yeni değil ve var olmakla birlikte, burada daha önemli gibi görünüyor ve hedeflediğiniz kullanıcıların türüne ve ne beklediğine bağlı. Genel son kullanıcı, platformlarıyla bütünleşmenizi isteme eğiliminde olacaktır - ancak yine de "vay!" Onlarla süslü şeyler - kurumsal kullanıcı bir masaüstü uygulaması gibi görünen bir şey isterken. Ve mobil platformların tüm bunlara yeni bir boyutu vardı.
Son 2 paragraf için, ortak bir fikir bazen önceden yapılandırılmış bir web tarayıcısını kurucunuzla paketlemektir, bu da web uygulamanıza (yerel olarak barındırılan veya web üzerinde) bağlanır. Güncelleme sıklığını kontrol ettiğiniz ve durumu “dondurabileceğiniz” ve ne destekleyeceğinizi ve test edeceğinizi tam olarak bildiğiniz için harika. Ayrıca özel kullanıcı uzantıları gibi harika şeyler ekleyebilirsiniz. Örneğin, farklı türden kullanıcılar için web uygulamanızın kullanımını kolaylaştırmak için geliştirdiğiniz küçük Chrome Uzantılı "dondurulmuş" bir Chromium paketlemek son derece hoş olabilir. Öte yandan, serbest bırakma döngüsünü donduğunuzdan dolayı bir güvenlik ihlali oluşması durumunda artık siz sorumlusunuz ve uygulamanız hız iyileştirmelerinden (varsa) faydalanmayacak.
Birçok şey gibi, iki ucu keskin bir balta.
Not: Ben güçlü bir önyargı var karşı temelde yarı pişmiş teknolojilerin büyük bir kazık olduğu için web (ve burada kibar değilim), OSI katmanları aşağı, hangi biz gerçekten çözmeden altından sorunları gizleme bok katmanları ekleyerek tutmak veya onları tamir etmek.
Olduğu söyleniyor, ben bir platform olarak her yerde olduğu için web lehine . Sanırım şirketinizin hamlesi (muhtemelen) doğru olanıdır. Açıkça hedef pazarınıza ve hedeflediğiniz platformlara bağlı. Bir şeyi hizmet olarak ifşa etmek istiyorsanız, o zaman muhtemelen gitmeniz iyi olur (gerekli olmasa da). Eğer yapmazsan, belki bunun için çok fazla sebep yoktur.
Hmm ve gelecekte mevcut işletim sistemlerinin daha hafif değişkenlerinin, hafif gömülü tarayıcıları kullanmaya daha fazla önem vererek mobil ortamlar (netbook'lar, akıllı telefonlar, PDA'lar, tabletler, e-kitaplar ...) için yumurtlamaya devam etmesiyle gelecekte bazı eğlenceli gelişmeler bekliyoruz. .. ancak UI oluşturma aksaklıklarının tüm yeni paylarıyla.
Eklenti tabanlı teknolojilerle ilgili olarak ... Onlardan uzak durun derim. Uygulamanızın gücünü artıracak, ancak pazarın nüfuzunu sınırlayacak. Bazı durumlarda, yeni bir platform bir anda onları desteklemeyi reddedinceye kadar çapraz platform desteği açısından bir artı olarak göreceksiniz. Web Standartları bir sebepten dolayı buradadır (HTMl5'teki her şey için fazla heyecanlanmamaya dikkat edin, aksi halde yüzünüze patlayabilir).
EDIT: dikkate alınması gereken diğer şeyler ...
İşe Alım
Bu var son derece sert bilgili web geliştiricileri bulmak için. Bunların bir sürüsü olduğunu düşünürsünüz, ancak formlarında bazı onaylamalar uygulamak için 700 satır JavaScript / ECMAScript yazmayı başarabilmiş çok iyi, oldukça beceriksiz bir insan havuzunda kayboldular. ve üst düzey beceriler açısından elde edilebileceklerin hepsi olmak.
Şaka yapmıyorum, son zamanlarda tüm web geliştirme röportajları için ilk sorum, bir değişkeni nasıl açıklayacağımız ve daha sonra var
(nasıl cevap verdiğine bağlı olarak) kullanarak ya da kullanmama arasında farklı olup olmadığı . İç karartıcı. Ortalama veya gelişmiş bir web geliştiricisi bulmak, ortalama veya gelişmiş bir masaüstü geliştiricisi bulmaktan çok daha zor.
Algı
"Web geliştiricisi olduğumu" söylediğinde hiç kimse seni ciddiye almaz. Programcılar, geliştiriciler için alt sınıflar için değil mi? Görmezden geldiğiniz ve uzaktan alay ettiğiniz şeyler, kahve yediklerinde katılmayın. :)
Bu açık bir şekilde doğru değil, ancak çoğunlukla sizin için yönetilen bir ortam için geliştirdiğiniz gerçeği ortaya çıkıyor. Tarayıcılar berbat işaretlemenizi, berbat stillerinizi düzeltiyor ve hatta bazıları için berbat betiklerinizi düzeltiyor ve eğer istersen sizin için optimize ediyor. Ve eğer bir web geliştiricisiyseniz, insanlar düşük seviyeli programlama hakkında bir ipucunuz olduğunu varsaymazlar, yani tam bir aptal olmalısınız, değil mi?
Ve sonra ECMAScript'in ne kadar çılgınca karmaşık olabileceğini anladılar, ancak fikirlerini gözden geçirmeyi reddedecekler. Çünkü bu web. Biz bunu özsel olarak sevmiyoruz, sadece yapmamızı sağlayan şeyleri seviyoruz.