

Javascript Framework' Ler Ve Beklentiler
-

jQuery :
Konuya en popüler ve en yaygın javascript kütüphanesi olan jQuery ile girmek istedim.
jQuery; 2006 yılında John Resig tarafından duyurulmuştur (başlatılmıştır). Şu anda github' da en çok yıldız alan repolardan ve devamlı olarak geliştirilmeye devam edilmektedir.
Peki tam olarak ne işe yarıyor derseniz; selector' lar ile html dom objelerini seçebiliyor ve üzerlerden istediğimiz işlemleri yapabildiğimiz, animasyonlar hazırlayabildiğimiz, web siteleriyle kullanıcıların arasındaki etkileşimi daha da artırabildiğimiz bir framework. jQuery ile neler yapabildiğimize dair gözünüzde daha net canlanması için jQuery ile hazırlanmış 50 farklı plugin (eklenti)' yi sizinle paylaşıyorum.
http://tutorialzine.com/2013/04/50-amazing-jquery-plugins/
Eminim az çok artık jQuery' nin ne kadar büyük bir nimet olduğunun farkına varmışsınızdır :)
Bir de olaya dünyanın gözünden bakacak olursak:
BuiltWith üzerinden jQuery' e baktığımızda halen top 10k sitelerinin 70% i gibi büyük bir kısmının jQuery ile yazıldığını görüyoruz. Ve yine top 1m' de de ekim 2015' de büyük bir sıçrama yaparaktan devamlı olarak artışta olduğunu görüyoruz.
Öte yandan hep iyiye gittiğini, hiçbir azalma olmaksızın devamlı olarak kullanımının arttığını söyleyebiliriz. Bu grafikten de açıkca görüleceği üzere 2016' da da jQuery kullanılmaya devam edecek ve azalacak gibi de durmuyor :)


AngularJS :
Bir google fanı olarak ikinci sırayı AngularJS' ye vermek istedim.
AngularJS, Google amcamız tarafından desteklenen açık kaynak kodlu bir javascript framework' üdür.
Artık günümüz dünyası single page yapılardan oluşuyor desek yeridir, facebook' lar, twitter' lar hepsi single page yapılarda ve buralarda AngularJS beklentilerimizi karşılayan ve kolay test edilebilen bir ortam sağlıyor.
Yine neden AngularJS kullanmanızla ilgili, daha teknik ve detayı aşağıdaki linkte bulabilirsiniz.
http://muratcorlu.com/post/angularjs-kullanmak-icin-10-neden/
AngularJS' in BuiltWith verilerine bakacak olursak, AngularJS' in kullanımının da giderek büyüdüğünü ve büyüyeceğini söyleyebiliriz. Yine AngularJS' in stackoverflow' da 147.527 tane hakkında soru olduğuna bakarsak, community olarak da gayet iyi seviyelerde olduğunu söyleyebilirim. En azından aradığımızı bulacak noktada :)
Öte yandan yakın zamanda duyurulan Angular 2 Beta' nın da release' nin 2016' nın ilk çeyreğinde göreceğimizi umuyorum.

ReactJS:
ReactJS, AngularJS' den daha basit bir kütüphanedir. Daha da doğrusu ReactJS, MVC yapısının sadece "V" ' sidir. Yani bunun anlamı, React, görsel bileşenlerin nasıl built ve render edildiğiyle ilgilenmektedir. Veri akışının ya da uygulamanın fiziksel yapısıyla uğraşmaz.
ReactJS' nin arkası da AngularJS' nin arkasının sağlam olduğu gibi sağlamdır :) Facebook ve instagram tarafından oluşturulmuştur.
Peki ben neden ReactJS kullanayım diyorsanız, aşağıdaki dökümanı okumanızı tavsiye ederim.
http://yortuc.com/neden-react-js/
Özet geç diyecek olursanız, kısaca avantajlarından bahsedelim.
- Bileşenin nasıl render edildiğini öğrenmek kolaydır, sadece render fonksiyonuna bakmak yeterli.
- React' ı sunucu tarafında render edebilirsiniz.
- Test etmesi kolaydır.
- Herhangi bir framework (Backbone.js, Angular.js) ile kullanabilirsiniz (view layer olarak).
Dezavantajlarına bakacak olursak;
- İlk olarak sadece view layer olması, ajax request' leri, event' leri için hala eklenti yazmamıza zorluyor.
- Kütüphane olarak biraz büyük diyebiliriz.
Son olarak Facebook ve Instagram kullanıyorsa mutlaka iyidir demeden geçemeyiz sanırım :)
Bunlar da react hakkında farklı linkler :
Resmi sitesi : http://facebook.github.io/react/docs/why-react.html
http://blog.andrewray.me/reactjs-for-stupid-people/
http://jlongster.com/Removing-User-Interface-Complexity,-or-Why-React-is-Awesome
2016 için beklentilerimiz ise, büyük rakiplerine rağmen halen güçlü bir şekilde kalmasını bekliyoruz.
Devamını yazıcam..
Konuyu açmamdaki amaç; burada sizlere Javascript framework' leri öğretmekten ziyade, bakın bunlar da var. Bunlar bunlar bu işlere yarıyor diyerek, sizin hayalinizdeki proje için en doğru framework' ü seçmenize yardımcı olabilmektir.
EK NOT:
Uzman olduğunuz framework hakkında karşılaştığınız kolaylıklar ve zorlukları yazarsanız, hep beraber güzel bir döküman çıkarmış oluruz.
ozgunlu tarafından 26/Oca/16 01:18 tarihinde düzenlenmiştir -
Angular js ile 1,5 yıldır profesyonel projeler üzerinde çalışıyorum.
Gerçekten çok sade ve kullanımı kolay.
Diğerlerinden en büyük farkı directive denilen custom html blokları oluşturabilmek.
Front-enddin MVC gelmiş hali diyebiliriz.
Directive ler bana html içinde fonksiyon çağrı yapmak gibi hissettiriyor.
C# la filan kıyaslayınca JS nin bazı kötü özellikleri var. Mesela yanlışta olsa çalışması hiç bir şeyi öyle çok kontrol etmemesi sinir bozucu.
Mesela parametre yollayacağın bir katman yazmışsın ama fonksiyonda parametre yollamamışsın 500 hatası dönüyor bulunamadı fonksiyon diyor.
Bakıyorum fonksiyon var, dünya kadar zaman kaybettiriyor bazen.
-
bu frontend olayını aslında sevmeme rağmen yavaş yavaş nefret etmeye başladım. :/
eskiden jquery ile yazıyorduk, biraz bu mvc yapıları oturmaya başlayınca backbone.js meşhur oldu ona geçtim 2 sene kadar onunla yazdım. geçen sene angular.js'in komünitesi güçlendi diye ona geçeyim dedim. şimdi bakıyorum reactyavaş yavaş öne geçmeye başlamış bile angular'ı. (referans https://github.com/search?utf8=%E2%9C%93&q=angular+language%3AJavaScript+stars%3A%3E600+pushed%3A%3E2015-12-22&type=Repositories&ref=searchresults vs https://github.com/search?utf8=%E2%9C%93&q=react+language%3AJavaScript+stars%3A%3E600+pushed%3A%3E2015-12-22&type=Repositories&ref=searchresults)
bu javascript geliştiricilerinin ne derdi var da her 2 senede bir sıkılıp başka kütüphaneye geçiyorlar ya da kendilerininkini geliştirmeye çalışıyorlar hiç anlamış değilim.
-
Ben genelde http://vanilla-js.com/ kütüphaneyi kullanıyorum.
Tek beklentim hızlı çalışması
-
jQuery candır, gerisi heycan. Bana göre.
-
Buremba bunu yazdı
bu frontend olayını aslında sevmeme rağmen yavaş yavaş nefret etmeye başladım. :/
eskiden jquery ile yazıyorduk, biraz bu mvc yapıları oturmaya başlayınca backbone.js meşhur oldu ona geçtim 2 sene kadar onunla yazdım. geçen sene angular.js'in komünitesi güçlendi diye ona geçeyim dedim. şimdi bakıyorum reactyavaş yavaş öne geçmeye başlamış bile angular'ı. (referans https://github.com/search?utf8=%E2%9C%93&q=angular+language%3AJavaScript+stars%3A%3E600+pushed%3A%3E2015-12-22&type=Repositories&ref=searchresults vs https://github.com/search?utf8=%E2%9C%93&q=react+language%3AJavaScript+stars%3A%3E600+pushed%3A%3E2015-12-22&type=Repositories&ref=searchresults)
bu javascript geliştiricilerinin ne derdi var da her 2 senede bir sıkılıp başka kütüphaneye geçiyorlar ya da kendilerininkini geliştirmeye çalışıyorlar hiç anlamış değilim.
Front-End pişmanlıktır :) Pure javascript yazanları bekleriz :D
-
single page web uygulamalarını pure javascript ile yazmak tam bir işkence. benim üstünde çalıştığım uygulamada şu an 30k satır javascript + css + html kodu var angular ile yazdığım ve angular bile yetmiyor o modülerliği sağlamada.
angular react vs kullanmanız javascript kullanmadığınız anlamına da gelmiyor zaten, o componentleri gene javascript ile yazıyorsunuz. bu tarz platformların diğer bir getirisi de sizin gibi kullanan bir sürü insan olduğu için ihtiyacınız olan componentleri (date-range-picker selectbox gibi) açık kaynak olarak rahatça bulabilmeniz.
-
angular ile react ı kıyaslamak cok da mantıklı değil aslında ikisi farklı şeyler angular 1 kod kalitesini ön plana çıkarıo react performansı ön plana çıkarıyo.şu ana kadar tüm javascript frameworkları dom seçicisiyle çalışmaktaydı. react ise virtual dom ile basıyo. react kütüphane ama flux mimarisini kullanyo bir mvc yapısıyla kullanmıo(feysbukda ole kullanyo) ancak flux olayı biraz zor, redux nitekim flux a göre daha kolay.
bir backendci olarak angular 1 gibi bir yapı benim işime daha cok yarardı ama nitekim cöp oldu angular 2 bambaşka onuda karman corman etmişler. frontend ile uraşanlar ve kararsızlar için react öneririm.feysbuk ve instagram dışında coğu büyük firmalar react a geçio cünkü cok hitli sitelerde cok avantaj sağlıyor. birde kod okunabilirliği react da daha kolay
-
ocr1991 bunu yazdı
angular ile react ı kıyaslamak cok da mantıklı değil aslında ikisi farklı şeyler angular 1 kod kalitesini ön plana çıkarıo react performansı ön plana çıkarıyo.şu ana kadar tüm javascript frameworkları dom seçicisiyle çalışmaktaydı. react ise virtual dom ile basıyo. react kütüphane ama flux mimarisini kullanyo bir mvc yapısıyla kullanmıo(feysbukda ole kullanyo) ancak flux olayı biraz zor, redux nitekim flux a göre daha kolay.
bir backendci olarak angular 1 gibi bir yapı benim işime daha cok yarardı ama nitekim cöp oldu angular 2 bambaşka onuda karman corman etmişler. frontend ile uraşanlar ve kararsızlar için react öneririm.feysbuk ve instagram dışında coğu büyük firmalar react a geçio cünkü cok hitli sitelerde cok avantaj sağlıyor. birde kod okunabilirliği react da daha kolay
aurelia var, angular js den ayrılan developer' ın geliştirdiği. onunla ilgili de bir yazı yazacağım.
benim fikrim ihtiyaca göre şekil almak, aslında bunların amaçları da ihtiyaçtan ötürü çıkmış olmaları.
yani herşeyi pure javascript ile de yazarsın ama zamandan tasarruf ve kolaylıklar varken bana mantıklı gelmiyor.
react' ın react native diye mobil native componentleri de var. üstüne düşülmesi gereken bir framework ama sadece visual olması da eksi yanı bence.
sonuç olarak, yazılım değil yazılımcı esnek olmalıdır.
ozgunlu tarafından 26/Oca/16 00:57 tarihinde düzenlenmiştir -
Çok güzel konu olmuş. Eline sağlık hocam
Ben de ufak bir düşüncemi ekleyeyim js için, belki yardımcı olur birilerine
js tıpkı iş yapmak gibidir: Yoldan kazanırsan enerjiden kaybedersin, enerjiden kazanırsan yoldan kaybedersin :)
Nekadar çok, daha kolay işe yarayan pratik frameworkse, o bir okadar hantaldır. Ama nekadar daha çok uğraştırıyorsa yazman gerekenler çoksa bir okadar hızlıdır dinamiktir.
Hatta ve hatta fonksiyonlar oluşturup fonksiyon çağırmak bile yazdığınız satırdan ve boyuttan kazandırırken yüksek tekrarlarda yine kaybettiriyor :)
-
zeybekustasi bunu yazdı
Angular js ile 1,5 yıldır profesyonel projeler üzerinde çalışıyorum.
Gerçekten çok sade ve kullanımı kolay.
Diğerlerinden en büyük farkı directive denilen custom html blokları oluşturabilmek.
Front-enddin MVC gelmiş hali diyebiliriz.
Directive ler bana html içinde fonksiyon çağrı yapmak gibi hissettiriyor.
C# la filan kıyaslayınca JS nin bazı kötü özellikleri var. Mesela yanlışta olsa çalışması hiç bir şeyi öyle çok kontrol etmemesi sinir bozucu.
Mesela parametre yollayacağın bir katman yazmışsın ama fonksiyonda parametre yollamamışsın 500 hatası dönüyor bulunamadı fonksiyon diyor.
Bakıyorum fonksiyon var, dünya kadar zaman kaybettiriyor bazen.
ben şimdi bir projeye başlıyor olsam typescript kullanırdım muhtemelen. şu anda da aslında geçmek istiyorum ama çok iş gücü gerektiriyor. typescript javascript temelinde bir dil ama strictly typed yani her objenin tipini belli etmek zorundasın. es6'nın özelliklerini falan kullanabiliyorsun ki zaten angular 2.0 geliştiricileri de typescript'i tavsiye ediyorlar. dediğin sorunların çoğunu çözüyor amacı da zaten javascript'i daha güvenli bir dil haline getirmek.