Merhabalar!
Yıllardır “Programcı oldum” diyebilmek için okuyorum,
yazıyorum ve araştırıyorum. İşte gördüğünüz gibi, bir bilgisayar programcısında
olması gereken temel özellikler aslında bende de var. Fakat çok da büyük
bir yol kat edebilmiş değilim. Yüzlerce programlama dili geliştirilmiş ve bu
diller ile gerek Web uygulamaları, gerekse masaüstü uygulamaları geliştirilmiş.
“Hangi programlama dilini öğrensem?” diyerek meslek hayatının yarısını heba eden
onlarca kişi gördüm. Yol kat edemememin bir sebebi de bu takıntıydı.
Şimdi ise
“Web mi, desktop mı? “ sorusu yeni programlamaya başlayan arkadaşları oldukça
sıkıntıya sokmakta.
Öncelikle şu bir gerçek ki; Web veya desktop ile
uygulama geliştirmenin kendilerine has avantajları ve dezavantajları var. Her
ne kadar “Programcı dediğin her dilde kod yazabilmeli” denilse de kendinize
uygun bir platform seçmelisiniz Örneğin; bugün sınırları zorlayan “.Net“
yazılım geliştirmek için ideal görünmekte.
Şimdi gelelim avantaj ve dezavantajlarına.
- Web
uygulaması geliştirmenin en büyük avantajı, dağıtımının çok kolay olmasıdır
fakat görsellik yönünden desktop uygulamalarıyla (tabiri caiz ise) yarışamaz.
Aynı zamanda Web projesi geliştirenler, desktop projesi geliştirenlere nazaran
daha az birikime sahip olabilir (bu daha az stres demek) fakat Web
geliştiriciler HTTP protokolünün sınırlamaları içerisinde kalır ki, bu da
aslında bir dezavantajdır.
- Desktop
uygulama geliştirmenin en büyük avantajı yukarıda da belirttiğim gibi görsellik
açısından daha verimli olmasıdır. Dağıtımda Web’e göre daha hantaldır fakat
hemen hemen her türlü yazılım geliştirilebilir ve güvenlik daha kolay
sağlanabilir. Örneğin; siz Web uygulamasında görüntü işleme programı yazmak
isterseniz bugünkü şartlarda “imkânsız” demek yerinde olur sanırım. Diğer bir
dezavantajı, Web yazılımına nazaran daha çok birikim ve tecrübe, en azından
işletim sistemini çok iyi tanımayı gerektirmesidir.
Aslında yukarıda belirttiğim avantaj ve dezavantaj
maddeleri tamamen yüzeyseldir. Daha açık söylemek gerekirse yazılımcı seçtiği
yolda bunlarla kesinlikle karılaşacaktır. Aynı zamanda yazılımcının benimsediği
teknik, içerik takibi vb nedenler de etkili olacaktır.
Eğer siz de “Web mi, desktop mı?” sorusuna takılıp
kalıyorsanız yukarıdaki avantaj ve dezavantaj diye belirttiğim maddeleri ve
aşağıdaki maddeleri iyi düşünün ve kararınızı verin.
- Geliştirmek
istediğiniz yazılımda (uygulamada) güvenlik ihtiyacı nedir?
Malum ki, Web projelerinde güvenlik o kadar ileri seviyede değil. Bu durumda
siz uygulamanızın güvenliğini nasıl sağlayacaksınız?
- Geliştirmek
istediğiniz yazılımda (uygulamada) vitrin mi yoksa veri tabanı ağırlıklı mı
çalışacaksınız?
Bir firmaya e-ticaret yazılımı mı hazırlayacaksınız yoksa desktop business
application (iş uygulaması ) mı hazırlayacaksınız?
- Geliştirmek
istediğiniz yazılımda (uygulamada) sizce dağıtım mı yoksa verimlilik mi önemli?
Unutmayın ki, çok düşünen kararsızdır.
Sağlıcakla kalın.
Kaynaklar: