Türkiye’de geliştirilen yüksek performanslı JavaScript kütüphanesi: tartJS
Arama
Teknoloji

Türkiye’de geliştirilen yüksek performanslı JavaScript kütüphanesi: tartJS

Dilerseniz GitHub’ta yer alan başarılı ve popüler yerli repo’ları incelediğimiz yazı dizimizin (Yerli GitHub) tamamına göz atabilirsiniz.

2011 yılında, o dönemki adıyla Tart New Media şimdiki adıyla Startup Kitchen bünyesinde açık kaynak olarak geliştirilmeye başlanan tartJS isimli JavaScript kütüphanesi bugüne kadar GitHub‘da 30 kere ‘fork’ edilmiş, 70’in üzerinde ‘star’ toplamış.

Şirket bünyesinde geliştirilen ve uzun soluklu projelerde kullanmak üzere yola çıkılan tartJS, yazılım geliştiricilere sürdürülebilir bir mimari ve yüksek performans vaad ediyor. tartJS’in en çok dikkat çeken taraflarından biriyse web kullanımının yanı sıra mobil için hibrit uygulama geliştirmede de kullanılabimesi.

Tuşla, pedals.ioTuttur.com ve line.do gibi projelerde tercih edilen tartJS’in muadili olarak ise web tarafında AngularJS ve React, mobilde de Ionic ve Sencha Touch‘ı gösterebiliriz.

tartjs-ekran-goruntusu
tartJS’in GitHub sayfası

tartJS geliştiricilerinden Armağan Amcalar ile konuştuğumuzda; kendisi 100 bin satırı aşan kod tabanına sahip uygulamalarda bile tartJS’in karmaşıklığı arttırmadan yüksek performans ile çalıştığını vurguluyor. Hatta dilerseniz Armağan Amcalar’ın bu noktada tartJS’i muadilleriyle kıyasladığı bir grafiğe göz atabilirsiniz.

Diğer yandan şu sıralar tartJS’in üçüncü versiyonunu yazmaya hazırlanan geliştirici ekipten aldığımız bilgiye göre yeni versiyonda performans kazanımları aynen korunarak yazılım kolaylığı arttırılmaya çalışılacakmış. Bu arada yenilenecek tartJS’in ECMAScript 6, webpack ve sweet.js gibi araçlarla çalışabileceğini de belirtelim. Bu arada hem yeni versiyon hakkındaki gelişmeleri takip etmek hem de tartJS’i denemek/öğrenmek için kütüphanenin Slack grubuna dahil olabilirsiniz.

“GitHub’a koyduğunuz projenin mürekkebi kurumadan ünlü olabilirsiniz”

Tüm bunlar dışında GitHub’ta popüler olma üzerine konuştuğumuz Amcalar bu konudaysa şunları söylüyor: “Popülerliğe gereğinden fazla değer veriliyor. Önemli olan popüler olmak değil, çalışır işler yapmak.

Öte yandan, iyi dokümantasyonu, iyi örnekleri olan ve problemlere ilgi çekici çözümler getirebilen herkes GitHub’da popüler olabilir. GitHub’a koyduğunuz projenin mürekkebi kurumadan ünlü olabilirsiniz. Dünya standartlarında, iyi işler çıkarın, yeter.

Hem tartJS hem de ülkemizde geliştirilen ve GitHub üzerinde popüler olan projeler hakkında sizleri bilgilendirmeye devam edeceğiz. (Yerli Github yazı dizimizin tamamı bir tık uzağınızda)

Yorumları GösterYorumlar Gizle (12)
  1. sezgin dedi ki:

    react’tan daha iyi bir kütüphane 70starımı var güldürmeyin reklam kokan hareketler bunlar

    1. Selam Sezgin, tartJS’nin React’e gore bir cok avantaji var. Ve fakat ne yazik ki gelistirmek icin para alan gelistiricileri yok. Arkasinda Facebook gibi bir sirket yok. Adini kullanmak icin hakkinda surekli makale yazan medya kuruluslari yok. Kisacasi pazarlama destegi yok. Hatta yorumundan yola cikarsak, destekleyen degil, yeren bir topluluk icerisinde buyumeye calisiyor diyebiliriz.

      tartJS halis muhlis yerli muhendislik urunu. React’in henuz fikri bile yokken, Facebook AJAX isteklerinde onyuze basilmak uzere HTML string’i donuyorken (2011) tartJS tamamen onyuzde calisan ilk MVC catilarindan biriydi; playstore.com gibi hacimli bir e-ticaret uygulamasini tamamen single page application seklinde yapmamizi sagladi. Senenin 2011 olduguna tekrar dikkat cekerim.

      Roportajda da bahsettim, populerlik fazla abartiliyor. Bir kutuphanenin ne kadar iyi oldugunu kac tane star’i oldugu belirlemez; ne is yaptigi, nasil yaptigi, performansi, surdurulebilirligi belirler. Yine de GitHub’da yildizlarsan bir katki vermis olursun.

      Turkce dokumentasyon eksigimiz var bu arada, destek olmak ister misin?

      1. JustEser dedi ki:

        En zoru da destekleyen değil, yeren bir topluluk içerisinde büyümeye çalışıyor olmanız zaten. Onun için size gani gani başarılar diliyorum.Bundan sonra tartJS diyorum. +1 *

  2. mustafa06 dedi ki:

    tartjs yi kullanan örnekleri nerede bulabiliriz. Sanırım bir örnek havuzu yok

    1. Mustafa, tartJS slack grubunda konustuk ama referans olmasi acisindan buraya da yaziyorum:

      https://github.com/tart/tartjs-todomvc

      her kutuphanenin ornek olarak gelistirdigi klasik TodoMVC ornegi. Ayrica hibrit mobil uygulama ornegi olarak da

      https://github.com/tart/tartjs-mobile-demo

      var.

  3. yucel dedi ki:

    Örnek havuzunu geçtim dökümantasyonun d’si yok; 70 yıldızlık kütüphaneyi cep herkülü yaptınız 🙂

  4. Cevahir Yıldız dedi ki:

    Kütüphane ile ilgili yorum yapabilmek için, önce dökümantasyonunu görmek gerekli.

    Türkiye’de sayısız kütüphane yazıldı, ama dökümantasyonu yapılmadı. Bunu yaparlar ise yurtdışından da yıldız gelmesi mümkün.

    Webrazzi’nin buradaki tek hatası, yapım aşamasında ve gidecek çok yolu olan bir kütüphaneyi angular ve react gibi daha olgun kütüphaneler ile karşılaştırma cahilliğine düşmüş olması.

    1. Merhaba Cevahir, tartJS yapim asamasinda bir cati degil. React’in henuz ortada fikri bile yokken, Facebook AJAX isteklerinde HTML donduruyorken, 2011 yilindan beri production’da kullanilan bir onyuz catisi. Halen gelistirilmeye devam ediyor ama 4 yildir production-ready.

      Ote yandan, kutuphanenin kodu cok kolay okunabilmesi icin yazildi. Anlamasi ve degistirmesi cok kolay. Kod son derece moduler, icinde kaybolmadan gezmek cok rahat. Inline dokumentasyonlar var, her fonksiyon type safe. Bu acidan bakinca dokumentasyonu yok diyemeyiz, kaynak kodu incelersen goreceksin.

      Orneklere bakmani oneririm. Ozellikle TodoMVC ornegine. Begenirsen belki katki yapmak istersin.

  5. ARISTO-Z dedi ki:

    Emek yoğun, emekçi motivasyonu olması gereken ve herkesin faydalanabileceği bir iş.. Kutlarız…

    Syg.

  6. Yahu dokumentasyonu yok, ornek proje diye 2 – 3 tane proje koymussunuz. Birde grafik yollamissiniz, sifir benchmark degerli bir Kompleksite grafigi 🙂 Bence cok fazla gaza gelmeden o elinizdeki frameworku ufak capli, es-dost projelerinde kullanmaya devam edin. Kodlarida inceledim ve sadece javascript prototype lerden olusan bir helper JS i gibi geldi bana. Biz yillar once boyle kendi frameworkumsu librarylerimizi pohpohlayarak anlatir, ese dosta verirdik kullansinlar diye. Bu da onun gibi olmus.

    Framework yapma isi oyle kolay bir is degil, cok detayli bir is. Sirf Turkler yapmis diye bir dizi kod parcasina framework diyemeyiz.

    Kirici elestiriler icin kusura bakmayin ancak boyle populer bir sitede boyle bir haberi gormek beni rahatsiz etti acikcasi.

    1. Merhaba betulbetulbetulbetul,

      tartJS 4 yildir Turkcell, NTVSpor, Tuttur.com, TTNET gibi firmalarin projelerinde ve sayisiz baska kucuk mobil ve web uygulamalarinda kullanildi. Yuzbinlerce satir yazildi; pek ufak capli oldugunu soyleyemeyecegim.

      Kodlari yeteri kadar incelemedigin kanaatine kapildim; tartJS type-safe, object oriented bir kutuphane ve 83 siniftan olusuyor. Icerisinde 2 MVC catisi (bir web MVC—tart.mvc namespace’i, bir klasik MVC—tart.components namespace’i) 2 MVVM catisi (tart.ui.Component ve tart.ui.DlgComponent siniflari) barindiriyor. Bu siniflarin uzerine eklenen carousel’ler, tooltip’ler, pull-to-refresh, infinite loading, tab bar, sidebar, navigation bar gibi mobil uygulama gelistirme icin sunulan komponentler barindiriyor. Ayrica cesitli utility fonksiyonlari da mevcut.

      Cati yapmak kolay bir is degil, tartJS 810 commit’ten olusan, 4 yildir gelistirmesi suren bir proje.

      Ote yandan, gelistirme ve bilim alaninda devlerin omuzlarinda yukselmek kavramini incelemeni oneririm; tartJS Google Closure Tools uzerine kurulu bastan sona gelistirme duzenegi sunan bir cati. Bu bakimdan Google Closure’nin butun ozelliklerini de barindiriyor ve gelistiricilerin kullanimina sunuyor. Google Closure’nin butun komponent’lerini tartJS icerisinde kullanmak mumkun.

      Son olarak, buradaki yersiz “dokumentasyon yok” iddialarini en azindan azaltmak icin bir on calismayla daha once kodun icine yazilmis olan inline dokumentasyonlari disari actik. http://tart.js.org/docs adresinde gorebilirsin. Acik kaynak koda ve isbirligine inaniyoruz; bu ozellik de cekirdek gelistirici ekibin disindan, Nilgun Celik isimli bir gelistiriciden geldi.

      Herkesin elini tasin altina koymasini beklemek buyuk bir hayal, farkindayiz. Yine de en azindan dogru elestiri yapabilmek icin acele etmemek ve ekseriyetle incelemek gerek diye dusunuyorum.

      Dokumentasyon eksiklerimiz devam ediyor. Umarim seni de aramizda goruruz. Katki yapmak istersen Slack grubumuza bekleriz; daha alacak epey yolumuz var.

  7. orhanobut dedi ki:

    Her ne kadar js kullanmasam da open-source’a destek verdiginiz icin tesekkur ederim. Cogu yorumcu destek olmak yerine kostek olmayi tercih etmis her zamanki gibi. Elestirilecek bir durum varsa bunun icin github’da issue acarsaniz, derdinizi anlatirsiniz, repoyu maintain eden arkadaslar da bu konuda yardimci olurlar ama onun yerine bu yok su yok demenin anlami yok.

Bir Yorum Yazın