logo

Destek

Size kesintisiz hizmet sunabilmek için her zaman yanınızdayız.
info@perspectivesoft.com.tr
+90 506 611 13 86

Web Uygulama vs Masaüstü Uygulama

Web Uygulama vs Masaüstü Uygulama

Bu yazımızda masaüstü veya web platformları arasında, her iki platform için uzun süredir uygulama geliştiren birinin gözünden kısa bir karşılaştırmasını yapacağım. Yapacağım karşılaştırma normal kullanıcıları değil, bu platformlarda uygulama geliştiren ya da geliştirmeyi düşünen insanların işine yarayacak.  Eğer bu platformlardan herhangi birini öğrenmeye başlamak istiyorsanız o zaman bu yazımızı mutlaka okumanızı tavsiye ederim.

Karşılaştırmayı fazla uzatmamak için sadece uygulama geliştirenleri en çok ilgilendiren şeyleri bir kaç başlık içerisinde göz önüne alacağım. Burada bahsettiğim şeyler çoğunlukla benim en çok beğendiğim ve en çok sinir olduğum şeylerden oluşmaktadır. Bu yazımız uygulama geliştirmeyi yeni öğrenen insanları da ilgilendirip kendilerini geliştirme konusunda küçük bir ışık olabilir. Hadi başlayalım o zaman…

İlk olarak yeni uygulama geliştirmeye başlamış biri olarak hangi platformda yazmam benim için daha faydalı olacak diye sorular sorduğunuzu duyar gibiyim. Bu sorunuzun cevabı aslında sizin uygulamanızda ve hedef kitlenizde gizli. Eğer ki sizin uygulamanız tüm insanlığa hitap eden bir uygulama olacaksa bunu tabi ki de web platformlarından biri ile yazmanız daha avantajlı olacaktır. Çünkü diğer türlü masaüstü uygulaması yazarak erişebildiğiniz insan sayısı web’e oranla bir hayli az olacaktır. Ayrıca uygulamanızın büyüklüğü arttıkça bunu bilgisayarlara tek tek kurdurmak bile sizlere bir yerden sonra ölüm gibi bir şey gelecektir.

Uygulamamızı hangi platformda yazacağımıza karar verdiğimize göre gelelim uygulamayı yazacağımız süreçteki karşılaşacağımız sorunlara. İlk olarak masaüstü uygulama yazmak istiyorsanız şu anda kullanılmakta olan Visual Studio’yu edinmeniz gerekmektedir. Bu derleyiciyi edindikten sonra Yeni proje oluşturarak .NET Web Formsu seçtiğimiz takdirde varsayılan şekilde ilk programımız karşımıza çıkacaktır. Bundan sonrası için artık programımızın gereksinimlerine uygun olarak eklemeler yapıp programımızı tamamlayabiliriz. Diğer taraftan eğer Web Application yapmak istiyorsak  işler biraz daha karmaşık durumda. Bunun için karşımıza iki seçenek çıkmaktadır. Biri ASP ile mi yazsam ? Diğeri PHP ile mi ? Gelin hadi şimdi buna karar verelim.

Eğer kendinizi .Net dillerinde hakim olarak görüyorsanız bu durumda size ASP demekten başka bir yol gözükmüyor. Diğer yandan zaten PHP ile ortak nokta olarak HTML kodlarının arasında fark yoktur. ASP sürekli kendini geliştirip yenilendiğinden ve genelde kurumsal alanda kullanıldığından yeni başlayan birisi olarak ASP den başlayıp kendinizi geliştirmeniz mantıklı olacaktır. Diğer taraftan ben genelde Freelancer işler yaparım ayrıca her çıkan yeni teknolojiyi takip etmekte zorlanırım diyorsanız PHP’yi seçmeniz daha faydalı olacaktır.

İlk karşılaştığımız sorun olarak uygulamayı yazacağımız platform seçimi demiştik. Şimdi gelelim sıradaki problemlerimize. Bunlar arasında benim aklıma ilk ve bence bana göre önem sırasında yüksek olan bu problemimiz uygulamayı kurmaktır. Kurmak demişken bunu sadece masaüstü programlar için diyorum tabi ki. Masaüstü programımızı yazdık bizim bilgisayarlarımızda hiç bir sorun yok her şeyiyle çok güzel oldu sırada bunun satışını yapacağız. Piyasaya çıkardık programımızı tanıtımlarımızda çok güzel gidiyor ve mutlu son programımıza bir müşteri bağladık bile. Aradaki anlaşmaları yaptık sıra geldi kuruluma. Mecburen adama bir setup yapıp öyle vermeliyiz programı. setupı hazırladıktan sonra yükledik bir sunucuya sonrasında müşterimize linkimizi verdik o da setupı o linkten indirdi. Kuruluma başladı hemen ilk sorunu ben söyleyeyim size eğer ki kurulacak bilgisayarın 32 bit mi 64 bit mi olacağını düşünmeden setupı oluşturduysanız hemen müşteriden geri dönüş olacaktır. Bizim 32 bit bilgisayarlarımıza programı yükleyemiyoruz diye sonrasında siz 32 bit içinde bir setup oluşturdunuz bu seferde 2. sorun olarak yine müşterinizden bir telefon bizim Windows XP bilgisayarlarımıza programı yükleyemiyoruz. E tabi yükleyemiyoruz neden çünkü kullandığımız .NET Framework 4.5.1 XP’yi desteklemez yükleyemememiz normal. Ama diğer taraftan aldık bir Host Domain yazdık local de kodlarımızı sonra attık sunucumuza eğer ki bizim bilgisayarlarımızda çalıştıysa zaten başka bilgisayarda da her türlü çalışacaktır. Bu sebepten ötürü Web uygulaması 1-0 öne geçti.

Gelelim şimdi  en önemli problemlerimizden diğeri olan güncelleme problemimize. Programımızı yazdık satışlarını yaptık kurulumlarını da yaptık ama müşterinin isteğine göre programımızda bazı değişiklikler yapmamız lazım. Bu değişiklikler bizim yapmak zorunda olduğumuz(sunucu tabanlı değişiklikler) olabilir ayrıca müşterinin istediği değişikliklerde olabilir. Kodumuzda yapmamız gereken güncellemeleri de yaptık eğer masaüstü uygulama yaptıysak müşterimizin bilgisayarındaki güncellemeyi de bir şekilde yapmamız gerekli. Biz yaptığımız uygulamada güncelleme problemini WyBuild programı kullanarak aştık. WyBuild ile ilgili olan makalemizi de ileriki tarihlerde yayınlayacağız. WyBuild’de sunucu tabanlı çalışan bir uygulamadır. Bunun sayesinde karşı tarafa güncelleme bildirimi gönderip güncellemesini yapmasını isteyecektir. Bunu yanı sıra yaptığımız uygulama web uygulaması olsaydı, kullanıcının yaptığımız güncellemeden haberi bile olmayacaktı. Uygulamayı açtığında zaten güncel sürümünü kullanacaktı. Bu yüzden Web uygulaması 2-0 öne geçti.

Şimdi gelelim masaüstü uygulamasının iyi taraflarına eğer ki uygulamamız çok ayrıntı içermiyor sadece müşterinin belli başlı işlerini görmek veya kolaylaştırmak için ise masaüstü uygulaması yazmak çok mantıklı olacaktır. Çünkü masaüstü yazarsak hem kodları çok karmaşık olmayacaktır hem de işin içine html, javascript girmediğinden programımız bir süreden sonra karmaşık olmayacaktır.Böyle bir durum varsa masaüstü yazmak daha mantıklı olacaktır. Durum 2-1 oldu.

Bunun dışında uygulamamızı Web’te yazarsak sadece bunu yazmak ile kalmayıp güvenliğini de almamız lazım. Biliyorsunuz ki özellikle son zamanlarda web sitelerine yapılan saldırılar ön planda sadece web sitesini yazıp bununla bırakmamalıyız sonrasını da düşünüp güvenliğini de almalıyız. Bunun için piyasada yeterli sayıda SSL sertifikası satan yerler bulunmaktadır. Bunlardan biri ile güvenliğimizi sağlayabiliriz. Öte yandan masaüstü uygulamasını yazdığımız gibi işi bitmiyor. .Net ile yazılan uygulamaların tersine mühendislikle çözülmesi içinde piyasada haddinden fazla program bulunmaktadır. Biz masaüstü projelerimizde bunu aşmak için SmartAssembly uygulamasını kullanıyoruz. Bu uygulama ile obfuscate edilen projelerin tersine mühendislik ile geri dönüştürülmesi ihtimali çok düşüktür. Tabi her zaman küçükte olsa bir ihtimal bulunur. Bu durumlardan dolayı ikisinin de kendine göre negatif yanları olduğu için puanlama yapmıyoruz.

Tüm bu yukarıda anlattıklarımdan yola çıkarsak bana soracak olursanız uygulamanızı web üzerinden yazmanızı tavsiye edeceğim. Çünkü artık piyasada tutunmak için en az 2 dil bilmek ve bunların birisinin .Net dillerinden birinin olması gerekmektedir. Hem kendimizi geliştirmek hem de projelerimize kurumsallık katmak için her zaman ASP derim…

admin
No Comments

Post a Comment

Comment
Name
Email
Website