Single Page Application (SPA) konusunda forumlarda ve blog'larda çok yanlış bilgiler paylaşıldığını görüyorum, bu yüzden teknik olmayan ama en azından Single Page Application (tek sayfa uygulaması) ile internetteki tek sayfa temaların farklı şeyler olduklarını izah etmek istedim.
Single Page olmayan bir internet sitesinin çalışma mantığı şudur. Client tarayıcısının adres kutucuğuna bir url yazar, bu url ile ilişkili olan ip adresinde çalışan sunucu da gerekli dosyaları client'a iletir ve ilgili internet sitesinin sayfası yüklenir. Client bu internet sitesinde gezerken bastığı her linkte sunucuya tekrar istek gönderir. Sunucu da gelen bu istek ile ilgili gerekli dosyaları hazırlar, geri gönderir ve sonuç olarak sayfa güncellenir, farklı bir sayfaya geçilir. Single Page Application'lar ise bu şekilde çalışmazlar.
Bir Single Page Application'da siteyi ilk kez açtığınızda arka planda tarayıcınız genellikle javascript olarak tüm uygulamayı kaydeder ve sayfaların yeniden yüklenmesine gerek kalmadan gezinim imkanı sunar. Gerekli durumlarda bu javascript kütüphanesi sunucu ile arka planda iletişim kurarak yine sayfa güncellemesi olmadan tüm sayfa isteklerini yükler. Çok daha hızlı, akıcı olarak çalışırlar ve sayfa yükü olarak da client'a yükleri çok daha azdır. AngularJS, ReactJS, EmberJS, Backbone.js, Meteor.js gibi framework'ler ile Single Page Application hazırlamak gittikçe daha kolaylaşmakta ve yaygınlaşmaktadır.