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

2024'e Girerken JavaScript: Yeni JavaScript run...

2024'e Girerken JavaScript: Yeni JavaScript runtime’larıyla bir ekosistem örmek

Hepsiburada JSKonf 2023 için yapmış olduğum sunum

Eser Ozvataf

November 18, 2023
Tweet

More Decks by Eser Ozvataf

Other Decks in Technology

Transcript

  1. 2024'e Girerken JavaScript Yeni JavaScript runtime’larıyla bir ekosistem örmek Eser

    Özvataf Head of Engineering @ Teknasyon Hepsiburada JSKonf 18 / 11 / 2023 eser.live
  2. Portfolyomu incelemek ve bana ulaşmak için https://eser.live’ı inceleyebilirsiniz. Eser Özvataf

    Head of Engineering @ Teknasyon eser.live Hepsiburada JSKonf 18 / 11 / 2023
  3. Mimari Değişimler - Bugün Server-Side Rendering UI Composition SPA Routing

    Load Optimization Handling Forms Partial Loading or something else with Islands Architecture
  4. ➔ Full-Stack geliştirme, az context-switching ➔ Geliştirme sürecini hızlandırma, daha

    az kurulum ➔ Daha hızlı bir kullanıcı deneyimi, optimizasyon Mimari Değişimler - Nasıl etkileneceğiz?
  5. ➔ Bilinen tüm araçlar onun üzerine kurulu ➔ Sahibi OpenJS

    Vakfı Node.js Deno Bun Runtimelar ➔ Ryan Dahl’ın yeni tasarımı ➔ Geliştirici deneyimi (DX) ➔ Paket yöneticisi yok ➔ Standartlar ve güçlü kütüphane desteği ➔ Serverless hizmetler ➔ Geriye doğru uyumluluk ➔ Hızlı paket yöneticisi ➔ Safari’nin JavaScriptCore Motorunun Avantajları
  6. ➔ Go ve Rust’ın geliştirici deneyiminin iyi yönleri JavaScript ekosistemine

    aktarılıyor. ◆ Built-in araçlar: Test Suite (Jest), Linter (eslint), Formatter (prettier), docgen v.b… ◆ Environment variable okumak gibi temel ihtiyaçlar karşılanıyor. ➔ ES Modules her geçen gün daha da fazla destekleniyor. ➔ TypeScript Deno ve Bun’da dahili geliyor. ➔ Runtime’lardaki geliştirme deneyimi, browser’lara yaklaşıyor. Fetch, WebSockets, WebStreams, Intl v.b. Browser API’ları gün geçtikçe runtime’lara da ekleniyor. Araçların Değişimleri - Geliştirici deneyimi
  7. ➔ Node.js için NPM yanı sıra corepack ile Yarn veya

    PNPM varsayılan paket yöneticiniz olabiliyor. ➔ Deno’da Go’nun standart kütüphanesine yakın bir kütüphanenin yanı sıra artık NPM desteği de oldukça olgun. ➔ Deno ve Bun URL üzerinden modül yükleme desteği ile monorepo araçlarına ihtiyacı ortadan kaldırıyor. Araçların Değişimleri - Kütüphane yönetimi
  8. ➔ Deno aynı zamanda bir serverless çözüm. ◆ Deno Deploy

    - AWS Lambda ◆ Deno KV - Redis, AWS DynamoDB ◆ Deno Queues - RabbitMQ, AWS SQS ➔ Vercel ve Supabase gibi firmalar araç çeşitliliğini arttırıyorlar. Araçların Değişimleri - Serverless hizmetler
  9. Codebase - Karmaşadan kurtuluyoruz ➔ Built-in araçlarla, araç konfigurasyonları ve

    birbirleri ile entegrasyonları giderek azalıyor. Eskisi gibi testing suite’e TypeScript tanıtmak zorunda kalmıyoruz. ➔ Bundler ve transpilerları hayatımızdan çıkartmak eskisinden daha kolay. Bu sayede monorepo yönetimi de sorun olmaktan çıkıyor. ➔ Kısmen PNPM ve Deno ile birlikte node_modules yükünden kurtulmaya doğru gidiyoruz.
  10. Codebase - Hızlı prototipleme mümkün ➔ CDN üzerinden uygulama bootstrap

    edebiliyorsunuz! ➔ Deno ve Supabase sayesinde kendi yerel ortamınızda geliştirme çok kolay. ➔ TDD için hazır bir ortam vaad ediyor. ➔ Deno ve Bun stand-alone binary oluşturup hızlıca Dockerize edebilmenizi sağlıyor. ➔ deno.dev üzerinden GitHub’la login olup ister copy-paste ile, ister deployctl ile saniyeler içinde bir API yayına alabiliyorsunuz.