23 Mayıs 2020

MERN Stack Nedir ?

ile Turan Yunus

MERN; MongoDB, Express, React, Nodejs kelimelerinin baş harflerinden türetilmiş bir isimdir. Javascript ile tamamen baştan sonra bir uygulama geliştirmek için yeterli bir teknoloji yığınıdır.

Son zamanlarımda neden javascript dünyasına hayranlık duyuyorum işte tamamen bunun için artık javascript ile bir ürünü çok kolay bir şekilde çıkartabilirsiniz. Sadece o alana özgü olan kütüphaneleri veya frame workleri iyi bir şekilde kullanarak güzel bir ürün ortaya koyabilirsiniz. %90 ‘ı javascript olan bir web veya mobile app çıkarmak bence artık çok kolay. %10’lu kısmı ise veritabanına bırakıyorum.

Hadi. Bir web projesi hayal edelim. Bize lazım olacak kavramlar ve teknolojiler nelerdir ?

1 – VERITABANI 

2- Birde düzenli bir yapı oluşturmak için bizim için nice to have olan yönetilebilen bir çalışma ortamı bilgisi gerekli

3- FRONTEND kodlama için bilgi

4- BACKEND kodlama için bilgi

Evet şimdi bu teknolojileri düşünelim. 

1- Veritabanı için MongoDB teknolojisini kullanalım.

2- Framework için ExpressJS teknolojisini kullanalım.

3- Frontend için ReactJS teknolojisini kullanalım.

4- Backend için NodeJS teknolojisini kullanalım.

İşte bu teknolojileri kullanarak bir uygulama çıkaran geliştiricilere MERN stack developer denilir.

1- MongoDB nedir  ?

Açık kaynak kodlu bir NoSQL veritabanı uygulamasıdır. Esnek ve kullanımı kolay olması nedeniyle kısa zamanda popüler olmuş olup, yaygın bir kitle tarafından kullanılmaktadır. Günümüzde internet sektöründe bir iş yapıyor ve işletmenizin başarılı olmasını istiyorsanız, elinizdeki verileri iyi toplamalı, doğru saklamalı ve efektif şekilde analiz etmelisiniz.

Tutulan dökümanın her özelliğine, anahtarına(key) göre indeksleme sağlamaktadır. Sık kullanılan okuma işlemi sorgularında yüksek performans göstermektedir. Yedeklilik(High Availability) desteği bulunmaktadır. Zengin döküman tabanlı sorguları mevcuttur. Hızlı bir veri yazma özelliği bulunmaktadır. Map/Reduce (eşle/indirge) özelliği sayesinde esnek toplama ve veri işlemeyi sağlar.

Veriler kendi yapısında saklamada karmaşıklaştırmadan işlerini yapmaktadır.

2- ExpressJS nedir ?

NodeJs için yazılmış bir Web Framework’tür. Npm üzerinden paket olarak yükleyebileceğimiz Express sayesinde Url parse işlemlerini(routing) daha kolay bir şekilde yapabilir, statik dosya yönetimi işlerimizi daha kolay bir şekilde yapabiliriz. Kısaca nodejs ile web sitesi/uygulaması yapmak için gerekli tüm alt yapıyı Expressjs bize sağlamaktadır.

3 – ReactJS nedir ?

[ALINTI] React.js, Facebook’un oluşturduğu bir JavaScript kütüphanesidir. React, HTML’ye benzeyen bir JavaScript XML sözdizimi kullanır. MERN stack‘inin bir parçasıdır. Angular.js ise Google tarafından geliştirilmiştir ve Microsoft’un yarattığı bir programlama dili olan TypeScript’i kullanır.

4- NodeJS nedir ?

Javascript ile sunucu tarafında kod yazabileceğiniz ortamdır. Javascripti tarayıcı yerine sunucuda çalıştırmak için kullanılır.  JS’i son zamanlarda popüler kılan en iyi teknolojilerden birisidir. Tamamen client ile geliştirmeler yapılabilen javascript dünyasını birden sunucu tarafına da yönlendirdi. Bu işlem tarayıcı üzerinde değil server tarafında yapılır. MERN yığını için olmazsa olmazlardandır.

[ALINTI]

Şöylede bir kaç stack örneği yazalım.

Mevn Stack = (Mongodb, exprees , Vue js, Node js)

Mean Stack = (Mongodb, exprees , Angular js, Node js)

Lamp Stack =  (Linux, Apache, MySQL ve PHP)