Java dünyasında neden çok framework var? Bu kadar framework'ün olmasının hikmeti nedir?

alt text

soruldu: 23 Nis '12, 06:08

mimaraslan's gravatar image

mimaraslan
2.2k6810794
cevap kabul oranı: 25%

değiştirildi: 27 Nis '12, 07:17


Java Dunyasi buyuk bir ekosistem ve bu sistemde herkes java kodlayarak kendi islerine / sorunlarina / is mantiklarina cozumler uretiyor.

Bu yuzden de herkes kendine ozel Frameworkler gelistiriyor. Bu javanin en cok tercih sebeplerinden birisi. Bir framework ile yapamadiginiz isleri digeri ile cok rahat yapabiliyorsunuz yada birkac tane framework u birlestirip kullanabiliyorsunuz.

En basit ornegi JSF(Java Server Faces) <-> GWT(Google Web Toolkit): ikisi de view teknolojilerine yogunlasmis frameworkler, eger projenizde ajax agirlikli view ler kullanmak isterseniz GWT size bircok ajax widget/componentleri sunar, normal web projesi yapacaksaniz JSF size bircok hazir componentler sunar. Sonra programcilar bu componentleri begenmezler daha guzeli / farkli olani yazmaya calisirlar, bunu open source yayinlarlar boylece framework sayisi artar. Programcilar da bunlarin hangisi islerine uygunsa onu kullanir.

En yaygin orneklerden birisi JDBC <-> Hibernate: java database programlama icin temelde jdbc kullanir, bunu begenmeyen ve objelerle database isleri yapmak isteyen birisi/birileri cikip Hibernate'i yazar butun dunyaya acar. Eger kaliteli guzel ve bircok soruna farkli cozumler sunuyorsa java community tarafindan desteklenir gelistirilir, yayginlastirilir. Siz programci olarak ister jdbc yi kullanirsiniz ister Hibernate'i. Hibernate i hantal bulan baskalari Hibernate mantigina benzeyen objelerle database isleri yapan baska bir framework yazar (EclipseLink).

Butun bu java component / lib / framework cesitliligi java dunyasinin ekosistemini olusturur ve bircok is alanina hitap etmesini saglar.

Ayni ornekleri .Net icin dusunurseniz sonuclar cok carpici olur. .Net in DAL (Data Access Layer - Veri erisim katmani) pek hosunuza gitmedi, yavas hantal yada sizin sitediginiz bazi ozellikleri yok! Farkli bir Data Access katmani yazip .Net'e entegre edebilir misiniz ? Cok zor. Butun Mikisoft dunyasini dusunurseniz tekelci yapiyla java dunyasinin topluluk (community) tabanli yardimlasmasini ve cesitliligin ne kadar faydali oldugunu anlarsiniz.

Bu cesitliligin en buyuk dezavantaji ise yeni baslayanlarin nerden baslamaliyim hangisini ogrenmeliyim hangisi daha optimal benim icin sorularina cevap bulmada zorlanmasidir!

permanent link

cevaplandı: 25 Nis '12, 06:22

CemIkta's gravatar image

CemIkta ♦
19.9k29125190
cevap kabul oranı: 36%

Zamanında Java her platformda çalışacak program/site hazırlamanın tek yoluydu. Ve çok ham bir dildi. Herşeyi yapmak mümkündü ama Java sana sadece altyapı veriyordu. O yüzden mikro düzeyde kod yazmak zorunda kalıyordun.

Bu yorumlarım bir kenara, popülerleşen her dilde/platformda çeşitlilik bu işin doğasında vardır. Python için de bir sürü çatı var mesela. Yani "neden bu kadar çok çatı var?" dersen, "herkes kendi evi olmasını ister" gibi bir cevabı var. Herkes olmasa bile bu çeşitliliği sağlayacak sayıda çok programcı böyle kutuplaşıyor doğal olarak.

permanent link

cevaplandı: 29 Nis '12, 19:41

necmettin's gravatar image

necmettin
23435
cevap kabul oranı: 28%

Evet bu kafa karışıklığına sebep oluyor? Sanırım seçme özgürlüğü olsun diyedir.

permanent link

cevaplandı: 25 Nis '12, 05:05

nerminson's gravatar image

nerminson
5214915
cevap kabul oranı: 3%

Zannim o ki onune gelen para kazanmak icin framework yazmiz. O yuzden zengin duruyor ama elle tututur framework sayisi az piyasada Spring almis yurumus, Spring bilmeyene is ekmek yok.

permanent link

cevaplandı: 25 Nis '12, 09:29

betulcamsiler's gravatar image

betulcamsiler
160139
cevap kabul oranı: 0%

değiştirildi: 25 Nis '12, 09:29

1

Para kazanmak için bu tarz işlere girenler oluyor elbette. Fakat bir frameworkun yazılma amacı genellikle kendi alanında diğer frameworklerde gördüğü eksikliklere çözüm üretmek oluyor.

(27 Nis '12, 20:07) makosan makosan's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×23

Soruldu: 23 Nis '12, 06:08

Görüntüleme: 3,950 kez

Son güncelleme: 29 Nis '12, 19:41

powered by BitNami OSQA