- Silverlight
- WCF
- WPF
- Windows Forms
- Web Forms
Microsoft teknolojilerinde son yıllarda önemli gelişmeler yaşanıyor. Takip etmekte zorlandığımız bu değişiklikler şüphesiz olması gereken şeylerdir. Yukarıda listelediğim teknolojiler, Microsoft’un bir dönem parlayan yıldızlarıydı. Geçen zaman içinde yazılım dünyasında yaşanan evrim sonucu , Microsoft tarafında bir takım sorunlara çözüm bulmak ve bazı teknolojilerle rekabeti yakalayabilmek adına bir takım gelişmelere neden oldu. Yazılım dünyasındaki her yeni gelişme, karşımıza yeni bir ürün olarak çıktı. Gelişme ilerledikçe evrim, bir takım organların sonunu getirdi. Şunu da belirtmeliyim ki bu yazı Microsoft teknolojilerine karşı durmak için değil, bazı teknolojilerin zamanla yerini başka teknolojilere bıraktığını anlatmak amacıyla kaleme alınmıştır. Serbest pazar ortamında her firma ürününü ortaya koyar ve herkes istediği teknolojiyi dilediğince seçmekte özgürdür.
Silverlight
Adobe Flash, Java Flex v.b gibi client taraflı uygulamalara alternatif olarak üretilen zengin içerik ürünü Silverlight, mobil internet tarayıcılar tarafında yetersiz kalınca ve geliştiricilerin Javascript gibi tüm tarayıcılarda çalışabilen bir teknolojiyi tercih etmesiyle fişi çekilen teknolojilerden biri oldu. Ülkemizde ve diğer ülkelerde Silverlight düşkünü yazılımcılar için adeta bir hayal kırıklığı oldu. Çünkü bu gelişme birçok yatırımın güncelliğini yitirip zamanla çöpe gitmesi demekti.
WCF
Servis odaklı altyapı sistemleri için geliştirilen WCF teknolojisi SOAP ve RESTful servisler oluşturmak için bir altyapı sunmaktadır. HTTP tabanlı REST servislarinin yaygınlaşmasıyla ivme kaybeden ve durma noktasına gelen hatta bitti denilebilecek teknolojilerden birisi. WCF teknolojisi SOAP servisleri oluşturmak için ideal bir seçimdir. Ancak RESTful servisler oluşturma konusunda liderliğini WEB API teknolojisine kaptırmıştır. (Güncelleme: WCF servislerinin REST ve SOAP ayrımına vurgu yapıldı. 21.02.2015)
Windows Forms
Masaüstü programlama araçlarından Windows Forms teknolojisi ise WPF teknolojisinin gelmesiyle silikleşen teknolojiler arasında. WPF teknolojisini Windows Forms teknolojisine göre makul kılan özelliklerin başında View tarafı ile Model tarafının birbirinden ayrılmasını sağlamasıydı. Windows Froms, kod arayüzü ve grafik arayüzü ile çalışmaktadır. WPF ise kod arayüzü, grafik arayüzü ve grafik arayüzünü şekillendirebilen XAML arayüzü ile ortaya çıkmıştır. Bu durumda MVVM (Model-View-ViewModel) yazılım desenlerinin uygulanması kolaylaşmakta ve daha kolay yönetilebilir uygulamalar geliştirilebilmektedir.
WPF
Windows 8 ile birlikte bizi işletim sistemi düzeyinde şaşırtan Microsoft, XAML teknolojisini .Net framework tarafından işletim sistemi üzerine alarak bizi tekrar şaşırttı. Bu da demek oluyor ki artık masaüstünde artık WinRT teknolojisi yer alacak. Bu durumda WPF teknolojisi de yıkılmak üzere demektir.
Web Forms
Microsoft’un Web geliştirme tarafında sihirli çubuğu olan Web Forms teknolojisi de MVC uygulama mimarisine yenik düştmüştür diyebiliriz. Web Forms ile oluşturulmuş birçok popüler web sitesi bu günlerde MVC teknolojisine geçiş yapmaya başladı bile. Web Forms teknolojisinin hakkını yememek lazım ki çok sayıda popüler uygulamaya temel oluşturmuştur. Ancak MVC teknolojisinin iş birimlerinin birbirinden ayrılmasını sağlayan mimarisi ve bu sayede geliştirici hakimiyetini ön plana çıkarması ayrıca birim test yazmaya olanak sağlaması zamanla onu popüler hale getirmiştir. Şahsen ben Web uygulamalarına direk MVC tarafından başlayanlardanım. (Güncelleme: 21.02.2015)
Microsoft gelişime, yeniliğe önem veren bir şirket. Ancak insanların yıllarca üzerinde çalışıp yatırım yaptığı teknolojilerin birden yok olması geliştiricileri ve şirket yöneticilerini sıkıntıya sokabiliyor. Bu durumda şu soru akıllara geliyor. Bu teknoloji de son bulursa ne yapacağız? Gelişim oldukça bir şeylerin sonu gelecek elbette.
Çöpe giden teknolojiler sadece Microsoft tarafıyla sınırlı değildir. Open source tarafında da çok fazla proje çöpe gitmiştir. Örneğin java tarafında da MVC yaygınlaşınca Serve taraflı bileşen teknolojiler pek tercih edilmez hale gelmiştir.
Bu durumda öngörülü olmak önem arz etmektedir. Spesifik teknolojiler yerine platform bağımsız teknolojilere eğilim göstermek her zaman faydalı olacaktır. Hangi programlama dili olursa olsun, yapılan iş genele hitap edecek şekilde tasarlanmalıdır. Bu sayede genişletilebilirlik(extensibility) ilkesi ile hareket etmiş oluruz ve hiç bir teknolojiye sıkı sıkıya bağımlı kalmayız.
Gülüyorum sadece 🙂
Çöpe giden demek pek doğru değil bence, neticede bunların hepsi bir basamak, burada elde edilen tecrübe bir sonraki sistemler için bir alt yapı hazırlıyor. Örneğin WPF ile tanıştığımız XAML bugün Windows Phone sistemlerinde kullanılıyor.
Diğer taraftan Microsoft her zaman popüler olanın peşinde, çünkü insanlar her zaman (istisnalar harıç) popüler olanı talep eder ve talebin olduğu yerde arz yani kazanç vardır 😉
Doğrusunu söylemek gerekirse bu yaklaşımdan dolayı açık kaynak dünyasını ve açık kaynak yazılım geliştirme ortamlarını daha çok seviyor ve ilgi duyuyorum. Ancak Microsoft’unda hakkını vermek lazım güzel işler çıkarıyorlar.
@zafer, güzel bir noktaya değinmişsin yorumun için teşekkürler. Bana göre teknolojik ürünler de evdeki veya dolabımızdaki eşyalar gibi zamanla yaşlanıp çöpe gider. Ben bu noktadan bakıyorum olaya. XAML evet hala Win8 ile kullanılıyor ama Silverlight artık geliştirilmiyor, WPF için de Bug fix ler eskisi gibi çözümlenmiyor ve kullanıcılar da bundan şikayetçi. Microsoft forumlarında kullanıcı sitemlerine bolca rastlayabilirsiniz. Yani WPF de artık durma noktasına yaklaştı diyebiliriz.
WPF ile ilgili bu durumu bir bankanın yazılım departmanında çalışan bir geliştiricinin söyleşisinde de duymuştum. Şu anda video linkini bulamadım, bulursam buraya eklerim. Büyük şirketler de aslında bu gibi durumlardan rahatsız. Çünkü milyonluk yatırımlar iki üç sene içinde boşa çıkabiliyor.
Eğer WCF’e bitti diyorsanız sadece gülerim, Restful servislerin yaygınlaştığı bir gerçek ama kullanıma göre Restful servislerde elinizin kolunuzun nasıl bağlanabileceğini bilmeniz gerekli.
Ayrıca Windows Forms bitti derken WPF yüzünden deyip sonrasında WPF bitti diyorsunuz komik 🙂
Microsoft çok büyük hatalar yaptı evet herkes bunu görüyor ama yukarıda bazı ürünler hakkında yaptığınız yorumlar yanlış.
@Mehmet, evet Windows Forms, WPF yüzünden bitti diyorum ve WPF ise WinRT yüzünden bitti diyorum. (Şunu da dip not olarak belirtmeden geçemem, WinRT ile beraber masaüstü programlama artık Javascript ile yapılabiliyor. Bundan sonrasını siz tahmin edin). WPF tarafında takip ederseniz Microsoft uzun süredir bug fix’lere bile cevap vermiyor. Komik geldiyse biraz eğlenmiş oldunuz, biraz da merakınız giderilmiş oldu. Yorumunuz için teşekkürler.
Selamlar.
Bahsedilen konular Microsoftun ACI ama GERÇEKLERİ malesef. Bu yüzden kabullenmemek ya da görmezden gelmek doğru olmaz. Ör. web form yüzünden yüz binlerce tl nin 2 yıl içinde gözümüzün önünde eridiğine şahit oldum. SOA ile ilgili çözüm ve danışmanlık işlemlerinde de REST çalışmalarına ağırlık verilirken, Microsoft WCF konusunda ya geliştirip genişletecek ya da yok olmaya mahkum edecek. Bu arada MVC 5 te bile geliştirmeyi zorlaştırıcı bir çok eksik noktaları bulunuyor, Farklı yazılım dillerindeki farklı frameworkleri kullandığınızda MVC 5 in eksikliklerini çok rahatlıkla gözlemleyebilirsiniz.
Microsofta teknolojilerine bağımlılık oranımız kadar yaşam süremiz var demektir.
Bence geleceğin teknolojisi web srevisler olacağından, şimdiden SOA konusunda AR-GE ve dönüşümler başlanmalıdır. Dolayısıyla SOA konusu er ya da geç bir gün tüm geliştiricilerin kapısını çalacaktır.
Saygılar.