Programlama

Web Programlama

13.08.2006

Web Programlamanın kralları olan ASP'den PHP'ye JSP'den ASP.NET'e kadar her konuda web programlama yapmış bir kişi olarak hem insanlara yol gösterebilmek hem de sıkıntıları dile getirebilmek amaçlıdır aşağıda yazılanlar.

Öncelikle ASP : Küçük projeler için ideal. İnsanı yormayan kolay bir platform. Ama Microsoft Dotnet yüzünden elini eteğini çekmiş durumda. Yine de geniş bir kullanıcı kitlesi olduğundan dolayı IIS ile beraber ASP desteği halen veriliyor ve bir süre daha verilecek. Performans konusunda sıkıntısı olmayan projelerde önerilir ama her byte'in degerli olduğu ince projelerde kullanmak başa bela açar. Web programlamaya yeni başlayan ve kısa vadede bir sonuç düşünenlere önerilir. Ayrıca uzun vade için de iyi bir başlangıç sayılabilir. Recordset gibi konularda takdirimi almıştır (bu özellik windows'un temelinde olan ve her dilde kullanılabilecek bir şey olmasına rağmen asıl olarak ASP'de kabul görmüştür)

Sonra PHP : Hayran olduğum dil ve platform. Özellikle Zend firmasının ipleri eline almasıyla ve doğru stratejiler izlemesiyle coştukça coşan PHP'nin bana göre tek eksiği standartlar. Standart'ları pek sevmeyen GNU dünyasında bu standartları kazanması zor görünse de Zend'in işi belli olmaz PHP 5 oldukça iddialı özellikler içeriyordu. Yalnız PHP 6 için en sıkı özelliğin unicode desteği olacağı konusunda yazılar okudum. Eğer en baba özellik bu olacaksa hayal kırıklığı kapıda demektir. PHP'nin Dotnet ve Java gibi standartlara ihtiyacı var. Hatta Zend Studio içine php'nin kullanabileceği derleme işlemi de olursa o zaman tadından yenmez işte PHP ;) Küçük ve orta ölçekli projeler için birebir. Takım çalışması için (standartları olmadığından dolayı) pek uygun değil ama kendi kurallarınızı belirletyerek güzel bir ortam oluşturabilirsiniz.

Nihayet Java (J2EE) : 2 Tam Teşkilatlı geliştirme ortamından biri. İçerdiği kütüphane (JRE) ve güçlü bir dile sahip olması (Java) web programlama konusunda büyük projeler için kendisini tercihlerde bir anda ön plana çıkartıyor. Her türlü ince detayı ayarlayabildiğiniz hatta kendi Server'inizi bile programlayabildiğiniz bir ortam. Server seçenekleri çeşitli ve hepsinin kendine göre güzellikleri mevcut. Belli standartlara sahip olduğu için (örneğin config dosyaları, class'ların yerleri vs.) takım çalışması için uygun. Birinin yazmış olduğu koda adapte olmanız PHP veya ASP'ye göre çok daha kolay ama Java'nın da kötü yönleri mevcut tabi. Öncelikle kavramlara çok boğulmuş bir ortam. EJB, RMI, JMS gibi bir sürü kavrama sahip ve bu kavramları öyle bir anlatıyorlar ki Java ortamından üstün zannedersiniz ama örneğin bir RMI'nin class'ları ağ üzerinde taşımanızı ve uzakta oluşturabilmenizi sağlayan bir program olduğundan bahseden yok. Çok fazla kavram insanların gözünü korkutuyor ama birilerinin bu kavramların aslında çok karışık teknolojiler olmadığını söylemesi lazım. Ayrıca büyük projelerin en büyük sorunu bana göre zaman kayıpları. Yapılan her değişiklikten sonra kodların derlenmesi, Container'in (Server'in) tekrar başlatılması falan derken her değişiklik yarım dakika kadar zamanınızı alıyor. Özellikle test sürecinde bu işlem çok dertli. Session değerinin kaybolmasından ve örneğin 5 adımda test edebildiğiniz bir sayfanın Session'ın kaybolması yüzünden her seferinde o 5 adımı tekrar etmenizden bahsetmiyorum bile ;) IDE (Integrated Development Environment) konusunda sıkıntısı yok. Özellikle Oracle'ı arkasına almış olması gücüne güç katıyor. Ayrıca geliştirdiğiniz ortam (Windows, Linux, ...) konusunda da sıkıntı yok.

Ve Dotnet (ASP.NET) : Tam teşkilatlı takımından ikincisi. Microsoft'un Java'ya cevabı ve özellikle C# konusunda önceleri iyi adımlar attığına inandığım fakat sonra C# 3.0'da gelecek olan "var" keyword'u ile işi çocuk oyuncağına çevireceğini tahmin ettiğim Platformu. ASP.NET hemen hemen Java ile aynı mantıkta çalışıyor ve kendine has standartları olduğundan dolayı takım çalışmasına uygun ve güçlü bir platform. Java ile aynı sıkıntılara sahip denebilir. Derleme yüzünden kod değişimlerinde zaman kaybı fazla ve derleme sonucunda Session değişkenlerinin yokolması insanı çileden çıkartıyor. Server Side (runat=server) componentlerin kullanılması (ve ne yazık ki bunların kullanılmasının yaygın olması) sonucu performans kayıpları hat safhada. Her ne kadar kendi ortamı olsa da kod yazma işini ASP stilinde inline olarak yazılması taraftarıyım. Belli başlı işleri yapacak olan kodları dll içinde bulundurmak en akıllıca çözüm gibi geliyor. Geliştirme Ortamı (IDE) konusunda belki de en iyi IDE'ye sahip (Visual Studio). Fakat Microsoft'un Visual Studio 2003 gibi süper hızlı bir IDE'den sonra 2005'de yavaşlıktan sürünen bir IDE yapması ve yapılmış olan değişikliklerin bu yavaşlığı açıklayamıyor olması sıkıntı veriyor. Java için kullanılan geliştirme ortamları yine Java ile yazılmış oldukları için genelde yavaştırlar ama Visual Studio 2005 C++ ile yazılmış olmasına rağmen Java IDE'lerinin çalıştığı hızlarda çalışması IDE'nin belki de en büyük avantajını yok etmiş durumda.

İşte Web Programlama Savaşları :)

Bunları da Oku, Sorucam

Yorum Yok

Yorum Yaz