Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Modern Frontend Uygulamaları

Modern Frontend Uygulamaları

Modern Frontend Uygulamaları isimli sunum.

Avatar for oguzhanaslan

oguzhanaslan

October 19, 2017

Other Decks in Programming

Transcript

  1. Nelere Değineceğiz? • Npm, Yarn • Webpack, Grunt, Gulp •

    Babel, EcmaScript • Single Page Application • State Management(Redux,Flux…) • React, Vue, Angular • Css Frameworks
  2. NPM Node.Js için bir paket yöneticisidir. Kullanacağımız paketlerin otomatik indirilmesini,

    güncellenmesini, silinmesini sağlar. CLI uygulaması olarak çalışır. npm init npm install —save <name> npm install -g <name> npm uninstall —save <name> npm update npm outdated
  3. package.Json Proje bağımlılıklarını yönettiğimiz dosyadır. Dizinimizde bulunan ‘node_modules’ klasöre, ilgili

    bağımlıkları kurar. { "name": "my_package", "version": "1.0.0", "dependencies": { "my_dep": "^1.0.0" }, "devDependencies" : { "my_test_framework": "^3.1.0" } }
  4. yarn Facebook mühendisleri tarafından geliştirilmiş paket yöneticisidir. 
 
 npm

    install yarn --global yarn init yarn add yarn install yarn publish yarn upgrade yarn remove
  5. Webpack • Bundle Code Splitting (Kodu Parçalara Ayırma) • Hot

    page reloading • Statik Dosya Paketleme • Testing • Stil Derleme
  6. grunt / gulp Yazdığımız görevleri çalıştıran basit bir araçlardır. Her

    iki paket aynı işlevi görmektedir. • Less, Sass, Stylus için derleme • İmaj Optimizasyonu • Birden fazla JS ve Css dosyasını birleştirme • Css veya JavaScript dosyalarını sıkıştırma • Otomatik task çalıştırma • Dosya veya dizinleri temizleme • Unit Test Çalıştırma
  7. ES2015 veya ES6 Şu an kullandığımız tarayıcılar, genel anlamda spesifikasyon

    olarak EcmaScript 5.1 (2009) desteklemektedir. EcmaScript 2015 veya diğer adıyla ES6 kullanabilmek için Babel ile kodlarımızı tarayıcının anlayacağı standart olan ES5’e çevririz. https://github.com/lukehoban/es6features
  8. ES2015 ile gelen özellikler https://github.com/lukehoban/es6features • let , const variable

    • Classes • Arrow Functions • Promises • Object Literals • Template Strings • Generators
  9. Babel • Bundle Code Splitting (Kodu Parçalara Ayırma) • Hot

    page reloading • Statik Dosya Paketleme
  10. State Management SPA yazdığımız durumlarda, state’leri yönetmek yer yer zorluk

    yaşatabiliyor. SPA kütüphaneleri geliştiren firmalar/kişiler bunun için Flux, Redux, Vuex, Mobx gibi kütüphaneler geliştirmiştir.
  11. Store Nedir ? Veritabanımız olarak düşünebilirsiniz. Tüm state verilerimiz bu

    store’un altında tutulur. Flux’ta birden fazla store bulunabiliyorken, Redux ve Vuex’de bir tane store bulunuyor.
  12. Next.JS Sunucu tarafında çalışan React uygulamaları geliştirmek için kullanılan minimalist

    bir frameworktür. • Code Splitting • Css-in JS • Routing • Prefetch