# Bir Bankacılık Uygulaması Oluşturma Bölüm 1: Bir Web Uygulamasında HTML Şablonları ve Rotalar Apollo 11'in yönlendirme bilgisayarı 1969'da Ay'a giderken, tüm sistemi yeniden başlatmadan farklı programlar arasında geçiş yapması gerekiyordu. Modern web uygulamaları da benzer şekilde çalışır – her şeyi sıfırdan yeniden yüklemeden gördüğünüz içeriği değiştirirler. Bu, kullanıcıların bugün beklediği akıcı ve duyarlı deneyimi yaratır. Her etkileşim için tüm sayfaları yeniden yükleyen geleneksel web sitelerinin aksine, modern web uygulamaları yalnızca değişmesi gereken kısımları günceller. Bu yaklaşım, tıpkı görev kontrol merkezinin farklı ekranlar arasında geçiş yaparken sürekli iletişimi sürdürmesi gibi, beklediğimiz akıcı deneyimi yaratır. İşte bu farkı bu kadar dramatik yapan şey: | Geleneksel Çok Sayfalı Uygulamalar | Modern Tek Sayfalı Uygulamalar | |-----------------------------------|--------------------------------| | **Gezinme** | Her ekran için tam sayfa yeniden yükleme | Anında içerik geçişi | | **Performans** | Tam HTML indirmeleri nedeniyle daha yavaş | Kısmi güncellemelerle daha hızlı | | **Kullanıcı Deneyimi** | Kesintili sayfa geçişleri | Akıcı, uygulama benzeri geçişler | | **Veri Paylaşımı** | Sayfalar arasında zor | Durum yönetimi kolay | | **Geliştirme** | Bakımı gereken birden fazla HTML dosyası | Dinamik şablonlarla tek bir HTML | **Evrimi anlamak:** - **Geleneksel uygulamalar** her gezinme işlemi için sunucu isteği gerektirir - **Modern SPA'lar** bir kez yüklenir ve içeriği JavaScript kullanarak dinamik olarak günceller - **Kullanıcı beklentileri** artık anında, kesintisiz etkileşimleri tercih ediyor - **Performans avantajları**, azaltılmış bant genişliği ve daha hızlı yanıt sürelerini içerir Bu derste, birden fazla ekranı sorunsuz bir şekilde bir araya getiren bir bankacılık uygulaması oluşturacağız. Bilim insanlarının farklı deneyler için yeniden yapılandırılabilen modüler araçlar kullandığı gibi, biz de gerektiğinde görüntülenebilecek yeniden kullanılabilir bileşenler olarak HTML şablonlarını kullanacağız. HTML şablonları (farklı ekranlar için yeniden kullanılabilir taslaklar), JavaScript yönlendirme (ekranlar arasında geçiş yapan sistem) ve tarayıcının geçmiş API'si (geri düğmesinin beklendiği gibi çalışmasını sağlar) ile çalışacaksınız. Bunlar, React, Vue ve Angular gibi çerçeveler tarafından kullanılan temel tekniklerle aynıdır. Dersin sonunda, profesyonel tek sayfalı uygulama ilkelerini gösteren çalışan bir bankacılık uygulamanız olacak. ## Ders Öncesi Test [Ders öncesi test](https://ff-quizzes.netlify.app/web/quiz/41) ### İhtiyacınız Olanlar Bankacılık uygulamamızı test etmek için yerel bir web sunucusuna ihtiyacımız olacak – endişelenmeyin, düşündüğünüzden daha kolay! Eğer zaten bir sunucunuz yoksa, [Node.js](https://nodejs.org) yükleyin ve proje klasörünüzden `npx lite-server` komutunu çalıştırın. Bu kullanışlı komut, bir yerel sunucu başlatır ve uygulamanızı otomatik olarak tarayıcıda açar. ### Hazırlık Bilgisayarınızda `bank` adında bir klasör oluşturun ve içine `index.html` adında bir dosya ekleyin. Bu HTML [şablon kodu](https://en.wikipedia.org/wiki/Boilerplate_code) ile başlayacağız: ```html Bank App ``` **Bu şablon kodunun sağladıkları:** - **HTML5** belge yapısını doğru DOCTYPE bildirimiyle oluşturur - **Karakter kodlamasını** UTF-8 olarak ayarlayarak uluslararası metin desteği sağlar - **Duyarlı tasarımı** mobil uyumluluk için viewport meta etiketiyle etkinleştirir - **Tarayıcı sekmesinde** görünen açıklayıcı bir başlık ayarlar - **Uygulamamızı oluşturacağımız** temiz bir gövde bölümü oluşturur > 📁 **Proje Yapısı Önizlemesi** > > **Bu dersin sonunda projeniz şunları içerecek:** > ``` > bank/ > ├── index.html > ├── app.js > └── style.css > ``` > > **Dosya sorumlulukları:** > - **index.html**: Tüm şablonları içerir ve uygulama yapısını sağlar > - **app.js**: Yönlendirme, gezinme ve şablon yönetimini ele alır > - **Şablonlar**: Giriş, kontrol paneli ve diğer ekranlar için kullanıcı arayüzünü tanımlar --- ## HTML Şablonları Şablonlar, web geliştirmede temel bir sorunu çözer. Gutenberg, 1440'larda hareketli tip baskıyı icat ettiğinde, tüm sayfaları oymak yerine yeniden kullanılabilir harf blokları oluşturup gerektiğinde düzenleyebileceğini fark etti. HTML şablonları da aynı prensipte çalışır – her ekran için ayrı HTML dosyaları oluşturmak yerine, gerektiğinde görüntülenebilecek yeniden kullanılabilir yapılar tanımlarsınız. Şablonları, uygulamanızın farklı bölümleri için taslaklar olarak düşünebilirsiniz. Bir mimarın bir planı bir kez oluşturup aynı odaları tekrar tekrar çizmek yerine birden çok kez kullanması gibi, biz de şablonları bir kez oluşturur ve gerektiğinde kullanırız. Tarayıcı, bu şablonları JavaScript tarafından etkinleştirilene kadar gizli tutar. Bir web sayfası için birden fazla ekran oluşturmak istiyorsanız, bir çözüm her görüntülemek istediğiniz ekran için bir HTML dosyası oluşturmaktır. Ancak, bu çözüm bazı zorluklar getirir: - Ekranlar arasında geçiş yaparken tüm HTML'yi yeniden yüklemeniz gerekir, bu da yavaş olabilir. - Farklı ekranlar arasında veri paylaşımı zordur. Başka bir yaklaşım, yalnızca bir HTML dosyasına sahip olmak ve `