Ember.js acık kaynak kodlu, ucretsiz, kullanıcı taraflı (client-side) web uygulamaları geliştirmeyi sağlayan bir JavaScript framework ’udur. Ember.js ile veri yonetimi ve uygulama akışları gibi bir framework ’ten beklenebilecek her şeyi yapabilirsiniz.


Ember.js ilk surumu 2011 Aralık ’ında, SproutCore MVC Framework olarak Yehuda Katz tarafından yayımlanmıştır. Ember.js ’in ilk stabil surumu (2.10.0) ise 28 Kasım 2016 ’da yayımlanmıştır.


Framework ’un en cok tercih edilme sebeplerinden bir tanesi ise Single-page Application (SPA) ozelliğidir. Bu sayede sayfa yenilemeden kullanıcı isteklerini karşılayabilirsiniz.

Felsefesi ve Tasarımı
Genişletmek icin tıkla ...


Ember.js başlangıcta bir kac anahtar fikir uzerinde tasarlanmıştır;


İddialı web uygulamalarına odaklanma:
Genişletmek icin tıkla ...


MVC ’deki view(gorunum) ’e odaklanan bir cok JavaScript Framework ’unun aksine, Ember kullanıcı taraflı uygulama sorunlarına tumden cozum bulmak icin yola cıkmıştır.


Kurulumdan başlayarak verimlilik:
Genişletmek icin tıkla ...


Ember, eksiksiz bir geliştirme yığını sağlamak icin birlikte calışan bir dizi aracın bir bileşenidir. Bu aracların amacı geliştiriciyi hemen uretken kılmaktır. Orneğin Ember CLI standart bir uygulama yapısı sağlar ve iş hattı oluşturur. Aynı zamanda eklenebilir (plug-in) bir mimariye sahiptir ve 3500'den fazla eklenti ile hem geliştirilebilinir hem de genişleyebilir.


Durgunluk olmadan stabilite:
Genişletmek icin tıkla ...


Bu geriye donuk uyumluluğun onemli olduğu ve Ember ’in geliştilmesi ve evrimleşmesi devam ederken bile surdurulebileceği fikridir.


Geleceğin web standlarını ongorme:
Genişletmek icin tıkla ...


Ember, JavaScript ve web uzerinde Promise, Web Components ve ES6 Syntax de dahil olmak uzere bircok standartın ilk uygulayıcısı ve oncusu oldu. (Yehuda Katz, TC39 isimli gelecekteki JavaScript surumlerinden sorumlu olan komitenin bir uyesidir.)


Aynı Ruby on Rails gibi Ember ’da CoC (Convention over Configuration) ve DRY (Don ’t Repeat Yourself) prensiplerini takip eder. Oldukca esnek inşa edilmiş kararlı bir Framework olarak tanımlayabiliriz.


Temel Kavramlar
Genişletmek icin tıkla ...


Ember.js ’e başlarken anlamınız gereken bir kac temel kavram bulunmaktadır;


Template ’ler:
Genişletmek icin tıkla ...


Template ’ler, Handlebars dili ile yazılan kullanıcı arayuzleridir. Duz HTML ’e ek olarak, Template ’ler } veya } gibi ifadeler icerebilir. Bu ifadeler Controller ’dan alınan bilgileri HTML icerisinde gostermek icin kullanılır.


Component ’ler:
Genişletmek icin tıkla ...


Bileşenler, kullanıcı arayuzlerinin Ember'da organize edilmesinin birincil yoludur. İki bolumden oluşurlar: bir şablon ve JavaScript'in icinde, bileşenin davranışını tanımlayan bir kaynak dosya.


Controller ’lar:
Genişletmek icin tıkla ...


Controller ’lar, Component ’lere cok benzerler; Ember'in gelecekteki surumlerinde, Controller ’lar tamamen Component ’lerle değiştirilecektir. Şu anda, Component ’ler Route edilemezler, ancak bu değiştiğinde, tum Controller ’ları Component ’lerle değiştirmeniz onerilecektir.


Model ’lar:
Genişletmek icin tıkla ...


Model ’lar veri kaydetme veya alma işlemlerinde kullanılır. Modeller, tarayıcının yerel depolama alanı gibi başka bir yere kaydedilecek şekilde yapılandırılabilse de, Model ’lar genellikle bir sunucuya bilgi verir.


Route ’lar:
Genişletmek icin tıkla ...


Route ’lar Controller ve Template ’i yuklerler. Route ’lar ayrıca Controller ’ın Template aracılığı ile sunacağı bilgiyi yuklemek icin bir veya daha fazla Model ’ı cağırabilirler.


Router:
Genişletmek icin tıkla ...


Router, URL ’leri haritalandırmak icin kullanılır. Kullanıcı isteklerini gerekli Route ’lara yonlendirilmesini sağlar.


Sonuc olarak Ember.js, bir cok dev tarafından kullanılan, kulanışlılığı ve uretkenliği arttırmak icin, geliştirici ve kullanıcı dostu bir JavaScript framework ’udur.