İlk günüm HTML uygulamaları yapmak. Bununla birlikte, birçok düzenlenebilir ızgara görünümü, metin kutusu, açılır menü vb. İçeren CRUD tipi uygulamaları dahili olarak kullandım. Şu anda işi yapan ASP.NET web formlarını kullanıyoruz, ancak performans çoğunlukla kasvetli ve oldukça sık İhtiyacınız olanı almak için çemberlerden atlamak zorundasınız. Tavandan asılan ve alev alan çemberler.
Bu yüzden, tüm kullanıcı arayüzünü JavaScript tarafına taşımanın iyi bir fikir olup olmayacağını merak ediyorum. Özellikle ihtiyaçlarımıza göre uyarlanmış güçlü bir yeniden kullanılabilir kontrol seti geliştirin ve yalnızca sunucu ile veri alışverişi yapın. Evet, "kontrol" (aka "widget") paradigmasını seviyorum, bu tür uygulamalar için oldukça uygun. Yani sunucu tarafında hala mevcut ASPX işaretlememize temel bir düzenimiz olacaktı, ancak bu daha sonra istemciye yalnızca bir kez gönderilecekti ve Javascript kısmı sonraki tüm UI güncellemelerini halledecekti.
Sorun şu ki, bunu daha önce hiç yapmadım ve hiç kimsenin de bunu yaptığını görmedim, bu yüzden problemlerin ne olacağını bilmiyorum. Özellikle, endişeliyim:
- Hala performans . Karşılaştırma, tarayıcı bir AJAX güncellemesinden sonra sayfanın çoğunu yeniden oluşturmaya çalıştığında şu anda ana gecikmenin istemci tarafında olduğunu gösterir. ASP.NET web formları oluşturulan işaretleme "web" kelimesine yeni bir anlam kazandırır ve zengin Devexpress denetimleri bunun üzerine kendi Javascript karmaşıklığı katmanını ekler. Ancak, Javascript tarafında gerekli tüm değişiklikleri yeniden hesaplamak ve sadece güncellenmesi gerekenleri güncellemek daha hızlı olur mu? Birkaç düzenlenebilir ızgara görünümü, çok sayıda metin kutusu, her birinde yarım milyonlarca filtrelenebilir öğe bulunan birçok açılır menü içeren formlardan bahsettiğimi unutmayın.
- Geliştirme kolaylığı . Şimdi çok daha fazla Javascript olurdu ve muhtemelen sayfanın HTML işaretlemesi ile karışacaktı. Bu ya da bir tür yeni görüntü motorunun üretilmesi gerekecekti. Javascript için Intellisense de C # kodundan çok daha kötüdür ve Javascript'in dinamik yapısı nedeniyle çok daha iyi olması beklenemez. Kodlama uygulamaları onu biraz geliştirebilir, ancak çok fazla değil. Ayrıca, geliştiricilerimizin çoğu öncelikle C # geliştiricileri olduğundan, bazı öğrenme eğrileri ve ilk hatalar olacaktır.
- Güvenlik . Bir çok güvenlik kontrolünün iki kez (sunucu tarafı ve UI tarafı) yapılması ve veri işleme sunucusu tarafının bunlardan çok daha fazlasını içermesi gerekecektir. Şu anda, bir metin kutusunu sunucu tarafında salt okunur olarak ayarladıysanız, istemci gidiş dönüşünde değişmeyen değerine güvenebilirsiniz. Çerçeve zaten bunu sağlamak için yeterli koda sahiptir (viewtate şifreleme yoluyla). Yalnızca veri yaklaşımı ile daha da zorlaşır, çünkü her şeyi manuel olarak kontrol etmeniz gerekir. Öte yandan, sadece güvenlik açıklarının fark edilmesi daha kolay olacaktır, çünkü sadece endişelenecek verileriniz olacaktır.
Sonuçta, bu sorunlarımızı çözecek mi yoksa daha da kötüleştirecek mi? Hiç kimse bunu denedi ve sonuçları ne oldu? Bu tür çabalara yardımcı olan herhangi bir çerçeve var mı (jQuery ve ahlaki eşdeğerler bir yana)?
So on the server side we would still have a basic layout simliar to our current ASPX markup, but that then would get sent to the client only once, and the Javascript part would take care of all the subsequent UI updates.
ASP.NET'in tam olarak ne olduğunu açıklıyorsunuz , bu da doğru bir şekilde kullanmadığınızı söylüyor. :) ASP.NET uygulamalarınızda bileşenleri güncelleştirme panellerine yerleştirirseniz, ASP.NET javascript kitaplığı sunucu tarafına eşzamansız geri gönderme gerçekleştirir ve yalnızca belirttiğiniz bileşenleri yeniden oluşturur.