Google’ın AngularJS duyurmasıyla günümüz web projelerinde, tek sayfalık yapılarla karşılaşmaya başladık. Single Page Application (SPA) adı verilen projeler
tek bir sayfa üzerinde, sayfayı refresh etmeden birçok işlemin yapılabilmesine imkan sağlamaktadır.
Örneğin Gmail hesabımızla girip E-Postalarımıza bakacak olursak Genel mailler, Gönderilmiş mailler, taslaklar hepsine bekleme olmadan, sayfa yenilenmeden tek bir sayfadan ulaşabiliriz.
Tüm işlemler tek bir sayfa üzerinden yapılacağından bu sayfalarda bol miktarda javascript kullanımı olacaktır.
Klasik çok sayfalı projelerde hemen hemen her sayfaya 1-2 adet javascript dosyası vardır ve tüm işlemler bu dosyalar üzerinde işletilir.
Ancak bütün bir siteyi tek sayfada çalışır hale getirmek gerçekten zor bir süreç.
Bu noktada tüm script dosyalarını tek tek html sayfasına eklemek, kod karışıklığına ve zahmete sebebiyet verecektir.
Bununla birlikte script dosyaları arasındaki bağımlılıkları sağlamak zordur. Bu bağımlılık problemlerini gidermek için RequireJs adında bir JavaScript frameworku yazılmıştır.
SPA projesi yapmak için scaleApp, DurandalJS, AngularJS frameworklerini kullabilirsiniz.