Meteor.js Serisi : 1.3 sürümü ile gelen yenilikler ve Meteor dünyasındaki son gelişmeler

Meteor yazılarına devam etmeden önce, Meteor un geçen hafta yayımlanan yeni sürümü “1.3  ile gelen yeniliklere ve genel olarak meteor dünyasındaki son duruma bakmaya çalışacağımız bir yazıyla devam edelim. Önce genel olarak 1.3 sürümü ile neler geldi yada neler değişti sorularına cevap arayalım ve sonrasında Meteor dünyasında neler olup bitiyor onu anlamaya çalışalım.

Meteor 1.3 sürümü ile gelen yenilikler.

Meteorun resmi web sayfasındaki bu duyurudan da okuyabileceğimiz gibi, meteorun şimdiye dek aldığı en büyük ve ciddi güncelleme oldu diyebiliriz bu son sürüm için. Genel olarak; “ES2015 ve npm” desteğinin artması, Test otomasyonu , mobile platformlar için daha güçlü bir destek, Angular ve react desteğinin daha iyi hale getirilmesi ve cordava güncellemeleri gibi temel başlıkların öne çıktığı bu güncellemenin bir başka önemli parçasıda bir sonraki sürüm le birlikte meteorun resmi olarak farklı veritabanları için yayınlayacağı destek ve yeni veri erişim katmanı için gerekli alt yapının oluşturulması diyebiliriz.

1 – ES2015 Modules

Meteorun 1.3 sürümün den öncede Javascript in en yeni versiyonu ES2015 in bir çok parçasını kullanabiliyorduk. 1.3 sürümüyle son eksiklerde tamamlanmış diyebiliriz. Özellikle ES2015 le birlikte gelen Javascript Modül sistemini artık meteorda kullanabilecek olmamız en önemli yenilik.  Uygulamamız içinde daha modüler bir yapıya imkan verip, ayrıca bundan önceki meteor sürümlerinde , kodlarımızın veya 3.parti scriptlerin yüklenme sırasıyla ilgili bazı zorlukları da ortadan kaldırmış oldu yeni modül sistemi.

Yeni modül sistemi , 1.3 sürüm ile birlikte gelen npm güncellemesi sayesinde npm modüllerini kolaylıkla uygulamamıza eklemeye ve kullanmaya da imkan vermekte.

2 – Dahili Test Altyapısı

Meteor artık dahili olarak iki test sistemiyle birlikte gelmekte. unit and integration. adı altında toplanan bu iki test sistemi ES2015 modül yapısı ile birlikte kolayca yönetilebilmekte.  Özellikle react yada angular 2 kullanacaksanız, component seviyesinde hızlı ve kolay test yazmanıza imkan vermekte. Sunucu taraflı kodlar için yine aynı şekilde speclerimizi yazıp reactivity göz önünde bulundurmak kaydıyla kolayca testler yazabilme imkanına kavuşmuş olduk.

3 – Cordova / Mobil uygulamalar için yenilikler.

Meteor 1.3 içinde ki cordova alt yapısı yeniden yazılmış , IOS ve Android uygulama geliştirme ve özellikle live code push(mobil uygulamanın otomatik olarak kendini güncellemesi) için iyileştirilmeler yapılmış. Ben şahsen meteor un mobile uyugulma geliştirme adına Ionic veya nativescript gibi platformların biraz gerisinde olduğunu düşünsemde, bu yeniliklerle birlikte meteor uygulamalarınızın mobil sürümlerinide kolayca inşa etme imkanımız var.

4- Meteor Guide

Meteor takımı, 1.3 sürümü ile birlikte eş zamanlı olarak  Meteor Guide ı da günceleyip geliştiricilerin hizmetine sunmuş oldu. Kod örnekleri, pratik ip uçları ve genel olarak kaliteli bir meteor uygulaması geliştirmek için bir yol haritası diyebileceğimiz “Meteor Guide” meteor ile uygulama geliştirme sürecinizde temel başvuru kaynaklarından biri olacaktır.

5- Tunable Livedata

Belkide bügüne kadar en çok istenen Meteor özelliklerinden biriydi. Kısaca, Meteorun bize sunduğu gerçek zamanlılık alt yapısının, uygulamamız içinde istediğimiz kısımlar için kapatabilme imkanına kavuştuk diyebiliriz. Özellikle ölçeklenebilirlik ve performans için ciddi bir kazanım.

6- Daha iyi angular 2 ve react desteği.

Meteor içinde 1.2 sürümüyle birlikte angular ve react için resmi destek gelmişti. Bu destek daha iyi bir şekilde güncellenmiş. (Not: Angular 1 desteği sürsede, hem angular 1 in kendi sorunları hemde meteor ile reactivity konusunda ki uyuşmazlıkları nedeniyle yeni projelerde angular 1.x sürümlerini pek tavsiye edemiyorum.)

1.3 sürümü ile gelen bazı yeni özellikleri bu şekilde sıralamaya çalıştıkdan sonra şimdi, genel olarak meteor dünyasında ki diğer gelişmelere bakarak devam edelim.

Reactive GraphQL ve Yeni Veri Erişim Katmanı

Meteor.js için, biz geliştiricilere sunduğu en önemli özellik  “live data-gerçek zamanlı veri akışı” veya daha üst perspektifden bakacak olursak “Full-stack Reactivity ” diyebiliriz. Bu gerçek zamanlılık yada “live data” akışının en önemli parçasını ise  Mongo DB oluşturmakda.

Diğer veri tabanlarını (Mysql, Postgres vs.) Meteor js ile kullanmak mümkün olsada, meteorun mongo db için sunduğu tüm alt yapıyı diğer veri tabanlarımız için bulamadığımız bir gerçekdi. Ekosistem içinde, topluluk tarafından geliştirilen çeşitli paketleri kullanarak, postgres vs. içinde gerçek zamanlılık alt yapısını Meteor uygulamalarımıza katabiliyoruz, fakat  mongo db ile kullandığımız alt yapı meteor geliştiricileri tarafından geliştirildiği için çok daha önde ve özellikle büyük ve ciddi projelerde Mongo db yi meteor için tek alternatif haline sokmakta.

Meteor ekibi, Apollo kod isim li bir proje ile bu handikap ı ortadan kaldırıp, Meteoru diğer popüler veri tabanlarıylada entegre etmek adına yeni bir proje başlatmış durumda. 2016 nın son döneminde yayınlamayı düşündükleri bu paketle, meteorun aşağıdaki imakanlara kavuşmasını sağlamak niyetindeler diyebiliriz;

  1. GraphQL alt yapısını kullanan yeni bir veri erişim katmanı geliştirmek.
  2. Böylece, hem Mongo DB hem diğer SQL veri tabanları hem de Rest servisler gibi diğer veri kaynaklarına bağlanmayı merkezi ve standart bir yapıya kavuşturulması
  3. Ara bir katman sayesinde, mevcut sistemleri(örneğin, rails,.net mvc ile yazılmış rest servisleri) meteorun gerçek zamanlı GraphQL veri katmanına bağlayabilme imkanı.
  4. GraphQL in ayrıca istemci tarafınada taşınması ve böylece mevcut verinin istemci tarafında da daha esnek ve kolay bir şekilde sorgulanabilmesi
  5. GraphQL sayesinde , istemci tarafında ister angular ister react yada blaze hangisini kullanırsanız kullanın standart bir GraphQL sorgusu kullanabilmesi

Kısacası, daha fazla veri kaynağına(NoSql, SQL, Rest vs.) destek sağlayıp meteoru mongo db dışında diğer alternatiflerle birlekte de çok verimli bir şekilde kullanabilme imkanı üzerine kurulmuş bir yapı/planlama diyebiliriz.

Ayrıca, özellikle büyük uygulamalar ve firmalar için , kaliteli bir cloud-hosting alt yapısını AWS üzerinde kurup sunmaya başladı meteor. Böylece Meteorun cloud entegrasyonu içinde ciddi bir alt yapı hazırlanmış oldu.

Meteor ekibi meteor.js i olabildeğince JS dünyası içinde en ideal “komple” uygulama geliştirme platformu yapmak gayretinde. .NET yada Java ekosistemindeki zenginliği ve standartlaştırmayı Javascript dünyasına taşıyıp, kurumsal büyük uygulamaların da javascript ile geliştirmesine  ön açma gayretinde.

Aşağıdaki video da bu konuya değinildiğini görebilirsiniz. Özellikle, npm, angular ve react ı da içine alan son güncellemeye ek olarak GraphQL ile diğer veri tabanlarınıda detsekleyen yeni bir Meteor çok ama çok daha güçlü olacaktır.

Ayrica vaktiniz olursa aşağıdaki videoyuda izlemenizi tavsiye ederim. Bir sonraki yazı ile meteor.js ile ilk uygulamamızı yazıp seriye devam edelim .

Kolay Gelsin

 

Kaynaklar:

http://info.meteor.com/blog/announcing-meteor-1.3

http://guide.meteor.com/

https://www.discovermeteor.com/blog/study-plan-meteor-1-3/

Leave a Reply

Your email address will not be published. Required fields are marked *