Skip to content

Frontend Genel Bakış (Frontend Overview)

Modern web uygulamaları için frontend teknolojileri, framework karşılaştırmaları ve öğrenme yol haritası. Bu kategori JavaScript, TypeScript, React, Next.js, Vue.js, CSS/Tailwind, performans optimizasyonu ve 3D grafik konularını kapsar.


Framework Karşılaştırma Tablosu (Framework Comparison)

ÖzellikReactVue.jsNext.jsAngular
GeliştiriciMeta (Facebook)Evan You (Topluluk)VercelGoogle
TürUI KütüphanesiProgressive FrameworkFull-stack FrameworkFull Framework
Öğrenme EğrisiOrtaDüşük-OrtaOrta-YüksekYüksek
EkosistemÇok geniş, üçüncü parti ağırlıklıDengeli, resmi kütüphanelerReact ekosistemi + yerleşik özelliklerTam donanımlı, hepsi dahil
SSR DesteğiHarici (Next.js, Remix)Nuxt.js ileYerleşik (varsayılan)Angular Universal
State ManagementRedux, Zustand, JotaiPinia (resmi), VuexReact state + Server ComponentsRxJS, NgRx, Signals
TypeScriptDestekler (opsiyonel)Destekler (opsiyonel)Tam destek (varsayılan)Varsayılan (zorunlu)
İdeal ProjeSPA, Dashboard, Mobil (RN)Hızlı MVP, Laravel entegrasyonuSEO odaklı siteler, e-ticaretKurumsal uygulamalar, ERP
PerformansVirtual DOM, iyiVirtual DOM, hafif bundleOtomatik optimizasyon, ISRAhead-of-Time derleme
Minimum Bundle~42 KB (gzip)~33 KB (gzip)~70 KB (gzip, framework dahil)~130 KB (gzip)
RoutingReact Router (harici)Vue Router (resmi)Dosya tabanlı (yerleşik)Angular Router (yerleşik)
CLI Aracıcreate-react-app / Vitecreate-vue / Vitecreate-next-appAngular CLI

Ne Zaman Hangisi? Karar Ağacı (Decision Tree)

Proje gereksinimlerine göre doğru framework seçimi için aşağıdaki yol haritasını kullanın:

SPA / Dashboard Projesi --> React

  • Tek sayfa uygulamaları ve admin panelleri için en geniş ekosistem
  • React Native ile mobil uygulamaya geçiş imkanı
  • Büyük topluluk, bol kaynak ve iş ilanı
  • Redux/Zustand ile karmaşık state yönetimi kolaylığı

Hızlı MVP + Laravel Entegrasyonu --> Vue.js

  • Laravel Blade ile kolay entegrasyon (Inertia.js)
  • Düşük öğrenme eğrisi, hızlı prototipleme
  • Composition API ile temiz ve okunabilir kod
  • Küçük-orta ölçekli projeler için ideal

SEO + SSR Gerektiren Proje --> Next.js

  • Server-Side Rendering varsayılan olarak aktif
  • Static Site Generation (SSG) ve Incremental Static Regeneration (ISR)
  • App Router ile Server Components desteği
  • E-ticaret, blog, pazarlama siteleri için en uygun

Kurumsal / Büyük Ölçekli Proje --> Angular

  • TypeScript zorunlu, sıkı mimari kuralları
  • Dependency Injection, modüler yapı
  • Büyük ekiplerde kod tutarlılığı
  • Uzun ömürlü, karmaşık iş uygulamaları için ideal

Öğrenme Sırası Önerisi (Learning Path)

Adım adım frontend yol haritası:

1. HTML / CSS
   Temel web yapisi ve stillendirme
       |
       v
2. JavaScript (ES6+)
   Degiskenler, fonksiyonlar, async/await, DOM manipulasyonu
       |
       v
3. TypeScript
   Tip sistemi, interface, generic, derleme zamani hata yakalama
       |
       v
4. React veya Vue.js
   Komponent mimarisi, state yonetimi, lifecycle
       |
       v
5. Next.js veya Nuxt.js
   SSR, SSG, API Routes, dosya tabanli routing
       |
       v
6. Tailwind CSS
   Utility-first CSS, responsive tasarim, hizli stillendirme

Ek Öneriler (Additional Recommendations)

SeviyeKonuAçıklama
BaşlangıçGit ve GitHubVersiyon kontrolü, dallanma stratejileri
Başlangıçnpm / yarn / pnpmPaket yönetimi, dependency kavramları
OrtaREST API tüketimifetch, axios, SWR, React Query
OrtaState ManagementRedux Toolkit, Zustand, Pinia
İleriTestingJest, Vitest, React Testing Library, Cypress
İleriCI/CDGitHub Actions, Vercel, Netlify deploy
UzmanWeb PerformanceCore Web Vitals, lazy loading, bundle analizi
UzmanThree.js / WebGL3D grafik, interaktif deneyimler

Rehber Haritası (Guide Map)

Bu kategorideki rehberlerin her birinin kapsadığı konular:

RehberKapsamSeviyeTemel Konular
JavaScript & TypeScriptTemel dilBaşlangıç-OrtaES6+ syntax, async/await, DOM, modüller, hata yönetimi
TypeScriptTip sistemiOrtaInterface, generic, utility types, derleme ayarları
ReactSPA frameworkOrtaJSX, hooks, state, props, React Router, context API
Next.jsSSR / SSGOrta-İleriApp Router, Server Components, API Routes, ISR, deploy
Vue.jsAlternatif frameworkOrtaComposition API, reactivity, Vue Router, Pinia
CSS & TailwindStilBaşlangıç-OrtaFlexbox, Grid, responsive tasarım, utility classes, tema
Web PerformanceOptimizasyonİleriCore Web Vitals, lazy loading, code splitting, caching
Three.js3D grafikİleriScene, camera, mesh, animasyon, React Three Fiber

Rehber İçerik Detayları (Guide Content Details)

JavaScript & TypeScript -- Temel dil rehberi. ES6+ özellikleri (arrow functions, destructuring, spread operator), Promise ve async/await, DOM API, event handling, modül sistemi (import/export) ve hata yönetimi konularını kapsar. Hem tarayıcı hem Node.js ortamı için geçerlidir.

TypeScript -- JavaScript üzerine tip güvenliği katan TypeScript'in detaylı rehberi. Interface ve type tanımları, generic tipler, utility types (Partial, Pick, Omit), enum, tsconfig ayarları ve projede TypeScript kurulumunu içerir.

React -- Komponent tabanlı UI geliştirme rehberi. Fonksiyonel komponentler, useState, useEffect, useContext, custom hooks, React Router ile sayfa yönetimi, form işlemleri ve performans optimizasyonları (memo, useMemo, useCallback) anlatılır.

Next.js -- React üzerine kurulu full-stack framework rehberi. App Router, Server ve Client Components farkı, data fetching (SSR, SSG, ISR), API Routes, middleware, image/font optimizasyonu ve Vercel deploy sürecini kapsar.

Vue.js -- Progressive JavaScript framework rehberi. Composition API (ref, reactive, computed, watch), Vue Router, Pinia ile state yönetimi, component iletişimi (props, emit, provide/inject) ve Vite ile proje kurulumunu içerir.

CSS & Tailwind -- Modern CSS ve Tailwind CSS rehberi. Flexbox, CSS Grid, responsive breakpoints, CSS değişkenleri, Tailwind utility sınıflarını, tema özelleştirme, dark mode ve komponent stillendirme yaklaşımlarını kapsar.

Web Performance -- Frontend performans optimizasyon rehberi. Core Web Vitals (LCP, FID, CLS), Lighthouse kullanımı, lazy loading, code splitting, image optimizasyonu, bundle analizi, caching stratejileri ve CDN yapılandırmasını içerir.

Three.js -- WebGL tabanlı 3D grafik rehberi. Scene graph, kamera türleri, geometri ve material, ışıklandırma, animasyon döngüsü, texture yükleme, glTF model import ve React Three Fiber entegrasyonunu kapsar.


KategoriAraçlarAçıklama
Build ToolVite, Webpack, TurbopackProje derleme ve geliştirme sunucusu
Paket Yönetiminpm, yarn, pnpmBağımlılıkların yönetimi
LintingESLint, BiomeKod kalitesi ve stil kontrolü
FormattingPrettier, BiomeOtomatik kod formatlama
TestingJest, Vitest, Cypress, PlaywrightBirim, entegrasyon ve E2E test
StateRedux Toolkit, Zustand, Pinia, JotaiGlobal state yönetimi
Data FetchingTanStack Query, SWR, AxiosAPI iletişimi ve cache
UI Kitshadcn/ui, Radix, Headless UIHazır komponent kütüphaneleri
AnimasyonFramer Motion, GSAP, LottieUI animasyonları
FormReact Hook Form, Formik, VeeValidateForm yönetimi ve validasyon
CSS-in-JSStyled Components, Emotion, Vanilla ExtractProgramatik stil tanımlama
MonorepoTurborepo, Nx, LernaÇoklu paket yönetimi

Yararlı Kaynaklar (Useful Resources)

KaynakAdresAçıklama
MDN Web Docsdeveloper.mozilla.orgHTML, CSS, JS resmi referans
React Docsreact.devReact resmi dokümantasyonu
Next.js Docsnextjs.org/docsNext.js resmi dokümantasyonu
Vue.js Docsvuejs.org/guideVue.js resmi rehberi
TypeScript Handbooktypescriptlang.org/docsTypeScript resmi el kitabı
Tailwind CSS Docstailwindcss.com/docsTailwind CSS referansı
Can I Usecaniuse.comTarayıcı uyumluluk tablosu
web.devweb.devGoogle performans rehberleri

Not: Bu rehber pratik kullanım için hazırlanmıştır. Her teknolojinin resmi dokümantasyonunu da incelemeniz tavsiye edilir. Framework seçimi proje gereksinimlerine, ekip deneyimine ve uzun vadeli bakım planına göre yapılmalıdır.


Terim Sözlüğü (Glossary)

Temel Kavramlar (Core Concepts)

TerimAçıklamaÖrnek
SPASingle Page Application — sayfa yenilenmeden çalışan uygulamaReact, Vue.js uygulamaları
SSRServer-Side Rendering — HTML sunucuda oluşturulur, SEO dostuNext.js, Nuxt
SSGStatic Site Generation — build sırasında HTML oluşturulurBlog, dokümantasyon siteleri
ISRIncremental Static Regeneration — SSG + periyodik güncellemeNext.js revalidate
CSRClient-Side Rendering — HTML tarayıcıda oluşturulurKlasik React SPA
HydrationSSR ile gelen HTML'e JavaScript etkileşimi eklemeNext.js, Nuxt sayfa yüklenmesi
DOMDocument Object Model — HTML'in JavaScript ile erişilebilir ağaç yapısıdocument.querySelector()
Virtual DOMGerçek DOM'un bellekteki kopyası — performans için diff hesabıReact, Vue.js

Bileşen & State (Component & State)

TerimAçıklamaÖrnek
ComponentYeniden kullanılabilir UI parçası<Button>, <Card>, <Navbar>
PropsÜst bileşenden alt bileşene veri aktarımı (read-only)<Card title="Merhaba" />
StateBileşenin kendi iç durumu — değişince yeniden renderuseState, ref()
HookReact'te state ve yaşam döngüsüne erişen fonksiyonuseState, useEffect, useRef
ComposableVue.js'te yeniden kullanılabilir mantık fonksiyonu (Hook benzeri)useFetch(), useAuth()
Context / Provide-InjectProps drilling olmadan derinlere veri aktarımıReact Context, Vue provide/inject
StoreGlobal state yönetimi — tüm bileşenlerden erişilebilirRedux, Zustand, Pinia
ReactivityVeri değişince UI'ın otomatik güncellenmesiVue ref(), React setState

Routing & Navigasyon

TerimAçıklamaÖrnek
File-based RoutingDosya/klasör yapısına göre otomatik route oluşturmaNext.js app/about/page.tsx/about
Dynamic RouteURL parametreli route/users/[id]/users/42
Lazy LoadingBileşeni ihtiyaç duyulduğunda yükleme — ilk yükleme hızıReact.lazy(), defineAsyncComponent()
Code SplittingJavaScript'i parçalara bölerek sadece gerekeni yüklemeimport() dynamic import
Navigation GuardRoute değişiminde yetki kontrolüAuth check, redirect to login

Stil & Performans (Styling & Performance)

TerimAçıklamaÖrnek
CSS ModulesScoped CSS — sınıf isimleri otomatik benzersiz yapılırstyles.card.card_a1b2c3
Utility-First CSSHazır utility sınıfları ile stil vermeTailwind: class="flex p-4 bg-blue-500"
CSS-in-JSJavaScript içinde CSS yazmakstyled-components, Emotion
Tree ShakingKullanılmayan kodu build'den çıkarmaVite, Webpack otomatik yapar
BundleTüm JS/CSS dosyalarını tek/birkaç dosyaya birleştirmedist/assets/index-abc123.js
HMRHot Module Replacement — kod değişince sayfa yenilenmeden güncellemeVite, Webpack Dev Server
Core Web VitalsGoogle'ın sayfa performans metrikleriLCP, FID/INP, CLS

Test & Güvenlik

TerimAçıklamaÖrnek
Unit TestTek bir bileşen/fonksiyonu izole test etmeexpect(add(2,3)).toBe(5)
E2E TestKullanıcı gibi uçtan uca tarayıcı testiCypress, Playwright
Snapshot TestBileşen çıktısını kaydet, sonraki testlerde karşılaştırJest/Vitest snapshot
XSSCross-Site Scripting — zararlı script enjeksiyonuinnerHTML yerine textContent kullan
CSPContent Security Policy — hangi kaynakların yükleneceğini belirleyen headerInline script engelleme

Frontend

Diğer Kategoriler (Other Categories)

Developer Guides & Technical References