şimdi; React ile web uygulama geliştireceğiz diyelim.
bu işi, tüm güncel usullere uygun 360 derece, eksiksiz gerçekleştirmek için içerisinde bilinmesi gerken tüm metodlar nelerdir?
örneğin;
react-redux,
gulp (veya webpack),
sass,
docker vb.
konuşmak gerekirse, tümü nelerdir düzgün bir uygulamanın sahip olduğu özellikler?
bu tarz react uygulamasinda gunumuzde olmazsa olmaz konular ve tavsiyelerim sunalar;
state yonetimi: redux
javascript runtime: node.js
lint yani kod kalite araci: eslint
unit test: jest
paket yonetim araci: yarn
paketleme araci: webpack
ui/ux test: enzyme veya selenium
deployment tool: docker
versiyonlama sistemi: git
code repository: github
continuous integration tool: travis
dokumantasyon: ben github md dosyalarini kullaniyorum ama swagger da cok populer
css preprocessor: sass veya less. ama react uygulamalarda bazi durumlarda gerek duyulmayabilir.
bunlar disinda yapilacak ise bagli olarak gerekli npm paketleri degisiklik gosterir.
buna ek olarak hangi kod hangi cloud servisde calisacak ise (aws vs.) ve uygulamanin buyuklugune gore de kullanilacak araclar cesitlenebilir.
tam istediğim konseptte cevap, çok teşekkürler.
peki burada soru: paketleme aracı olarak webpack yerine gulp kullanmanın 2019 yılında bir dezavantajı var mıdır? (mevcut piyasada daha az tercih ediliyor, pek kullanılmıyor artık vs. gibi bir durum var mı?)
@emrahday yarin gelip ise baslar misin lutfen?
heheheh. sahanesin bu arada.
grunt veya gulp task runner olarak ifade ediliyor, yani belli bir isleri komutlari otomatik olarak calistiriyor.
ama diger taraftan webpack "bundle tool" olarak geciyor. webpack bu araclarin yaptigi isleri yapmakla beraber ayni zamanda buyuk bir kod projesini kucuk alt projelere bolebiliyor, ya da bircok projeyi birlestirebiliyor vs. o nedenle de giderek populerligi artarken grunt ve gulp populerligi dusuyor.
webpack konfigurasyon bakiminindan daha karmasik ve guclu, o nedenle buyuk projelere uygunken, orta ve kucuk olcekli projeler icin gereksiz muhendislik oluyor. benim tavsiyem yapilmak istenen is gulp veya grunt ile yapilamiyor ise onlari kullanmak. tabi projenin gideceig dogrultu da onemli bu noktada.
Bu arada yorumlar icin tesekkur ederim :)