MEAN Yapısı Nedir ?
İçindekiler
MEAN açılım olarak, MongoDB, Express, AngularJS, NodeJS in baş harflerinin alınmasıyla oluşmuştur. Peki bu MEAN ne işimize yarar.
Buna başlamak için Full Stack/tam yığın nedir önce onu tanımlayalım. Full Stack demek, web sitesinin tüm bölümlerinin geliştirilmesi demektir. Bir nevi sitenin her işi görebilmesi demektir. Önceden web sitelerinin arayüzlerine bakılmazdı. Daha çok işi yapsın yeter mantığıyla hareket edilirdi. Perl ve HTML yaygındı. Daha sonra internet yaygınlaştı. Sitelerin göze hitap etmesine dikkat edilmeye başlandı. Bunun sonucu olarak CSS ve JavaScript ortaya çıktı. Bu noktadan sonra FrontEnd ve BackEnd ayrımı ortaya çıktı. FrontEnd’ciler projenin arayüz tasarımı yaparken, BackEnd’ciler arka plan iş mantığıyla uğraştı.
21.yüzyılın başlarına gelinince yazılım çatıları popülerleşti. Yazılım çatılarına örnek, JavaScript için jQuery, PHP için Ruby on Rails verilebilir.
Bu çatıların ne gibi faydası olur?
- Programlamaya hızlı bir giriş sağlar.
- İşleri kolaylaştırır.
- Karmaşıklıklar soyutlanır.
- Taraf seçme zorunluluğu kalkar.
- Üretkenlik artırılır.
Neden MEAN Yapısı Kullanmalıyız?
En iyi web teknolojilerini esnek bir çatıda birleştiren JavaScript kullanan bir yapı olduğu için kalıcılık sağlar. FrontEnd’inde AngularJS, BackEnd’inde NodeJS kullanır. En kötü tarafı ise Google indexlemede sorun yaşarsınız. Arama siteleri JavaScript çalıştırmadığı için o tarz bir site yapacaksanız bu yapıyı kullanmanız anlamsız olur. Yani web sitelerinizi indexleyecekseniz tekrar düşünün diyoruz.
NODEJS
NodeJS kendi sunucunuzu oluşturmanızı sağlayan ve web uygulamaları geliştirmenizi sağlayan bir yazılım platformudur. NodeJS’in kullanılmasının bir sebebi JavaScript ile yazılmasıdır. Doğru kullanıldığı taktirde hızlıdır ve sistem kaynaklarını çok etkin kullanma olanağı tanır. Bu hızın sebebi ise işlemlerin asenkron olarak sağlanmasıdır. Az kaynakla çok fazla kullanıcıya hizmet verebilirsiniz. NodeJS nin bilgisayarda kullanabilmesi için NPM(Node Package Manager) dediğimiz paket yönetiminin kurulması gerekmektedir. Bu paketler uygulamanızı genişletmenizi sağlar. Şu an yaklaşık olarak 331 bin kadar npm paketi mevcuttur.
EXPRESS
Express NodeJS in arka planda yaptığı işleri sunucudan dinlemesine ve buna cevap üretmesi için kullanılır. HTML sayfaları oluşturabilmek için hazır şablonlar içerir. Gelen URL isteklerini yönlendirir. Session denilen bilgi saklamaya ve hatırlamaya yarayan yapıları da barındırır.
MONGODB
MongoDB, hızlı esnek ve genişleyebilen bir veri tabanı aracıdır. Ancak bu araç diğer veritabanlarından biraz farklı işler. Daha önce MySQL gibi ilişkisel bir veritabanı kullanmışsanız, satır sütun terimlerine aşinasınızdır. Kolonlar veri tipini ve hangi tarz veriyi tutacağını belirlerken, satırlar birbirinden farklı ve benzersiz kayıtları tutar. MongoDB ise tüm bu yapıların aksine doküman tabanlıdır. Satır kavramı vardır ama sütun kavramı yoktur. Kolonların her satırı bir doküman olarak düşünülür. Sütun yerine ise dizi işlemine benzer bir hafıza işlemi uygulanır.
Dökümanların formatı BSON şeklindedir. BSON da Binary JSON olarak adlandırılır. JSON’un ne olduğunu merak eden arkadaşlarımız için hemen açıklayalım. JSON, XML in alternatifi olarak örnekleyebileceğimiz, bilgi alışverişi yaparken daha küçük boyutlarda transferi gerçekleştiren verilerin tutulduğu alandır. JSON veri kullanmak uygulamanıza ciddi şekilde hız katar.
MongoDB yoğun işlemli ve karmaşık sorgular içeren bir veri tabanı değildir. Her işlemini bir diğerinden bağımsız olarak yapar böylelikle diğer işlemler zarar görmez. Ancak bu verileri kullanmak için de bilgisayarımız bir nesneye ihtiyaç duyar. Bu nesnenin adı Mongoose olup verilere ait nesne modellerinin oluşturulmasını sağlar.
ANGULARJS
AngularJS, doğrudan arayüz çalışması yapmamızı sağlayan bir web çatısıdır. Bu çatıda yapılan işlemlerimiz HTML ile belirtilen arayüzde gösterilir. Standart olarak veriler ve uygulama mantığı sunucu tarafında yapılır.
AngularJS, veriye bakarak HTML oluşturur. Veri değişince HTML günceller, HTML değişince de veriyi güncellemeye yarar. Bu yönteme biz çift yönlü bağlama diyoruz.
Başlarda da bahsettiğimiz gibi AngularJS kullanırken dikkat etmeniz gereken yer, ne üzerine site yapmak istediğiniz. Eğer veri yoğunluğu olan işleri tercih edecekseniz rahatlıkla kullanabilirsiniz. Ancak blog tarzı bir site yapacaksanız JQuery sizin için daha doğru seçim olacaktır.
Bu yayında eklemek istediğiniz bir yer olursa yorum yaparak bizlere bildirebilirsiniz.
Hemen sağ taraftan ücretsiz mail aboneliği alarak yeni yayınlarımızdan haberdar olabilirsiniz.
2 Yorumlar
Faydalı bir tanıtım olmuş , tam aradığım gibi
Arkadaşlar Mean Stack uygulaması ile ilgili eğitim serisine başladım aşağıdaki linkten takip edebilirsiniz…
https://www.youtube.com/playlist?list=PLMgWFZYBWyGlnpwk4I0kNjt9GOafbu_pe