İçeriğe geç

MEAN ile Full Stack Development

Full stack developer, yazılımın hem back-end(arka yüz), hem front-end(ön yüz) hem de veritabanı programlama kısımlarında uzmanlığı olan ve geliştirilen projenin yazılımsal tüm süreçlerinde görev alan yazılımcılar için kullanılan mesleki tanım. Günümüzde bazı şirketlerde bu tarz yazılımcılara ihtiyaç duyuyor ve projeler full stack development usulüyle geliştiriliyor. Eskiden Linux, Apache, MySQL, PHP (LAMP) vb. stack kavramları yaygınken artık gelişen ön yüz teknolojileri ve birçok seçeneğin olmasıyla birlikte stack’lerde oldukça arttı. Bu stack’lerden birisi de MEAN, yani MongoDB, Express, Angular.js, Node.js. Yani bu 4 uygulama ve kütüphanenin web projelerinde oturmuş bir yapıyla kullanılması için bulunmuş ve yavaş yavaş çoğu yazılımcı için standart hale gelen bir stack.

mean-stackMEAN açık kaynak kod projedir. www.mean.io adresinden dağıtımı yapılıyor ve detaylı dokümantasyonu bulunuyor. MEAN’de bulunan bileşenler, yani MongoDB, Express, Angular.js, Node.js bir web uygulamasının uçtan uca geliştirilmesi için bizlere yeterli olan herşeyi veriyor. MongoDB ile veritabanını, Angular.js ile ön yüz geliştirmeleri, Node.js arka yüz tarafı için gerekli altyapıyı ve bileşenleri elde ediyoruz, Express de kolayca web sitesi, web api, single-page uygulamalar yapmamızı sağlayan bir Node.js bileşeni. Ben de bu yazıda full stack yazılımcılar için kullanışlı olan bu MEAN’i sizlere kısaca tanıtacağım.

MEAN stack ile projeler geliştirmek istiyorsanız aşağıdaki konularda bilgi sahibi olmanız gerekiyor:

  • Temel HTML ve CSS bilgisi
  • Temel JavaScript bilgisi
  • Temel programlama bilgisi (değişken, döngü, sınıf yapısı vb.)
  • Temel veritabanı bilgisi (bilhassa NoSQL)

MEAN’deki bu 4 bileşeni inceleyelim:

MongoDB: Cross platformlarda “document oriented database” temelli uygulamalar geliştirmek için kullanılmaktadır.  Document oriented database denmesindeki sebep ise MongoDB’de her kayıt bir döküman olarak veritabanında Binary JSON olarak dinamik şemalarda tutulmaktadır. Bu nedenle içerisinde saklanan veriler geleneksel SQL sorgularıyla değil, NoSQL terimleriyle sorgulanır. Bu sayede uygulamalar daha hızlı çalışmaktadır.  MongoDB şu an dünyadaki birçok kurumsal ve çok kullanıcılı sistemler tarafından kullanılan bir veritabanıdır.

Express: Node.js ile hızlı ve düzenli proje gerçekleştirebilmemizi sağlayan bir kütüphanedir. Node.js dünyasının en popüler bileşenlerinden birisidir. Single-page application, web api servisleri ve web sitesi uygulamaları geliştirmek için hazır yapılar sunar ve bu tarz projelerin kolayca geliştirilmesini sağlar. Node packege manager(npm)’den ulaşılacağı gibi detaylı bilgiler ve kaynaklar için web sitesi http://expressjs.com/ adresi de incelenebilir.

Angular.js: Node.js’in client-side bileşenlerini saymazsak MEAN stack’inin istemci taraflı çalışan kısmıdır, yani MEAN ile geliştirilen projelerde istemci kısmında Angular.js kullanılır. Angular Google tarafından geliştirilen açık kaynaklı bir web application framework’üdür. İstemci tarafında döngü yapıları kurma, veri bağlama, veri dinleme, URL yönetimini yapma gibi birçok işlevi yerine getirir.

Node.js: Javascript ile  server side web uygulaması geliştirmeye olanak sağlamaktadır. Google tarafından geliştirilen V8 üzerinde çalışmaktadır. Yazılan JavaScript kodunu makine diline çevirmektedir.  Web uygulamasında asenkron çalışan eventler sayesinde eş zamanlı işler yapılmasını ve isteklerin daha hızlı yanıtlanmasını sağlar.

Mean.io Kurulumu ve Proje Oluşturma

Mean.io kurmak için bilgisayarımızda daha önceden Node.js’in kurulu olması gerekiyor. Node Package Manager(npm) ile MEAN’i hızlıca kurabilir ve ardından da projeler oluşturabiliriz. MEAN’i kurmak için Linux veya Windows komut satırından

npm install -g mean-cli

komutunu kullanıyoruz. Ben Windows’da basit bir örnek yaparak nasıl bir proje oluşturacağımızı anlatacağımz hızlıca. MEAN ile standart şablonda bir proje oluşturmak için aşağıdaki ekran görüntüsünde görebileceğiniz mean init ProjeAdi komutunu kullanıyoruz. Aşağıdaki ekran görüntüsü size referans olacaktır, çalıştıracağınız komutları sırasıyla aşağıda belirtiyorum:

mean init DevNotProject1

Do you want to set up an admin user? sorusuna N yanıtı verip ilerleyin

cd DevNotProject1 && npm install

cd DevNotProject1 && bower install

cd DevNotProject1

gulp

MeanProject1

Not: Kurulum sonrasında proje oluştururken ben sorun yaşamadım ama Windows 8 ve üzeri işletim sistemlerinde kurulum esnasında hatalar alınabiliyor. Tavsiyem bu hataları almamak için yukarıda anlattığım kurulum adımlarını tamamlayıp, sonrasında da http://learn.mean.io adresindeki “Installation problems on Windows 8 / 8.1″ kısmında belirtildiği üzere Phyton 2.7.x sürümünü kurup, Node Package Manager(npm)’ı da güncellemeniz olacak. Detaylı bilgilere belirttiğim sayfadan bakabilirsiniz.

Sıra örneğimizi çalıştırmada. Angular.js’i içeren basit bir HTML sayfasına aşağıdaki gibi doldurup sayfayı test ediyoruz.

mean-ilk-ornek

Sayfayı tarayıcıda çalıştırdığımızda aşağıdaki gibi bir sonuç alıyoruz. MEAN dünyasına hoşgeldiniz.

mean-ornek-cikti

Tarih:Genel

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir