Merhabalar, bir projede kullanmak zorunda kaldığım fakat sonrasında sevdiğim bir framework olan Sail.js hakkında bir yazı yazmak istedim.Bu konu hakkında Türkçe kaynağında az olduğunu fark ettim o yüzden umarım Sail’e başlayacak arkadaşlara bir yol göstermiş olurum.Uzun bir seri olacak vakit buldukça ekliyorum.Belki bir gün index yapabiliriz 🙂
Sail.js Nedir ? Kimdir ?
Sail.js popüler bir Node.js frameworkudür aslında.( Frameworkun frameworku olurmu demeyin 😀 ) server tarafında size aynı Ruby deki Ruby on Rails, Php’deki Laravel gibi düşünebilirsiniz çok yararlı fonksiyonlar sunar hızlı API geliştirme gibi.
Sail.js gerçek zamanlı bir MVC frameworkudur aslında bizlere kurumsal seviyede kullanabileceğimiz Nodejs uygulamaları oluşturmamıza yarar.Sail.js aynı zamanda kendi içindede farklı teknolojiler kullanır Waterline ORM ve aynı zamanda birden fazla veritabanı kullanabilmek gibi vs.
Sail.js Başlamadan Önce
Daha önce javascript ve nodejs ile çok haşır neşir olmamış iseniz başlarda biraz sıkabilir.Öğrenin azda olsa çok faydası olur daha sonra bu yazıyı okumanızı öneririm. Şöyle sıralamak gerekirse :
- Node.js ve NPM mutlaka kurulu olmalı.
- Azda olsa JavaScript/ES6+/Node.js hakim olmalısınız.
- Birazda Unix bashe hakim olsanız tamamdır demek.
Sail.js Kurulumu
Global olarak sail.js kurulumunu aşağıdaki komutu kullanarak gerçekleştiriyoruz.
npm install -g sails
Bu sayede global olarak komut satırında sails yazdığımızda tüm komutları kullanabilir hale geliyoruz.
Sails Projesi Oluşturma
Sails js indirdikten sonra bizlere çok güzel bir CLI sunuyor aslında sail.Onu kullanarak ilk projemiz oluşturuyoruz.
sails generate new sailsjs-app
Bu sayede ilk sail projemizi oluşturduk, başta biraz zaman alabilir, tüm npm paketleri vs dosya yapısı bize hazır bir şekilde geliyor.Projeyi ayağa kaldırmak için ise :
cd sailsjs-app sails lift
sails lift dedikten sonra localhost:1337 üzerinde projemiz çalışır hale geliyor.Tebrikler ilk sail projenizi oluşturdunuz 🙂
Sail.js Proje Yapısı
Proje yapısından bahsetmek gerekir ise
api
: Bu klasör şu yapıları içeriyor controllers, models, services ve policies detaylarına sonradan gireceğiz.
assets
: css,resim kısaca public bir asset dosyasıdır bunların hepsini bu klasörde barındırıyoruz.
config
: Burada web uygulamanızın veri tabanı ayarları veya navigation ekleme vb. kısımlar yer alıyor.
node_modules
: npm paketlerin bulunduğu kısım her node projesinde olduğu gibi.
tasks
: burada bazı scriptler yer alıyor assetleri yönetmek için vs kullanılabilir.
views
: Burası sailjs’ın arayüz kodlarımızı yazdığımız yer.Bir çok template engine destekliyor.Vuejs candır severseniz 🙂
.tmp
: burasıda klasik tmp dosyası dev modeda oluşturulan build dosyaları vs. yer alıyor.
Neden Sail.js Kullanmalıyım ?
Bu soruyu bende kendime sordum. Kendime bulduğum cevaplar şöyle
Enterprise seviye de web uygulamalarını hızlıca geliştirebiliyorsunuz.Oluşturduğunuz modele göre CRUD operasyonlarına ait endpoint yazmanıza gerek kalmıyor sail bunu bizim için yapıyor.Bir sonraki ders onun ile alakalı yazmayı planlıyorum.
Birden fazla veritabanını aynı uygulamadan yönetebiliyorsunuz.Neredeyse hepsini destekliyor.
WebSocket entegrasyonu çok basit projenizi kompleks bir hale getirmiyor bu sayede socket gerektiren durumlarda hızlıca geliştirme yapabiliyorsunuz.
Uygulamayı yayına almak çok basit sadece gerekli tüm paketler sunucuya kurulduktan sonra pm2 yüklü olan bir linux sunucu tüm ihtiyaçlarınıza yardımcı oluyor.
Bir sonraki derste görüşürüz 🙂