{"id":858,"slug":"spa","name":"Single-page application (SPA)","short_description":"Single-page applications are client-side applications that combine the logic for different contents into one page.","url":"https://github.com/topics/spa","github_count":6597,"created_by":null,"logo_url":null,"released":null,"wikipedia_url":"https://en.wikipedia.org/wiki/Single-page_application","related_topics":["mpa","vuejs","reactjs","svelte","astro","angular","emberjs","javascript","routing","pushstate"],"aliases":[],"github_url":null,"content":"\u003cp\u003e\u003cstrong\u003eSingle-page applications\u003c/strong\u003e (\u003cstrong\u003eSPA\u003c/strong\u003e) are client-side applications that don’t route via different pages but rather combine the logic for different contents into one page. This was historically achieved via hashbang URI fragments (\u003ccode class=\"language-plaintext highlighter-rouge\"\u003e#!\u003c/code\u003e). With the introduction of the \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/API/History/pushState\"\u003e\u003ccode class=\"language-plaintext highlighter-rouge\"\u003epushState\u003c/code\u003e API\u003c/a\u003e, this state can now be properly used within the browser history, in bookmarks and sharing.\u003c/p\u003e\n\n\u003cp\u003eAnother important point for SPA was the lack of proper \u003ca href=\"https://github.com/topics/seo\"\u003eSEO\u003c/a\u003e but developers and frameworks found ways around that.\u003c/p\u003e\n","created_at":"2024-07-29T13:59:15.478Z","updated_at":"2026-06-13T00:25:46.278Z","topic_url":"https://awesome.ecosyste.ms/api/v1/topics/spa","html_url":"https://awesome.ecosyste.ms/topics/spa","projects_url":"https://awesome.ecosyste.ms/api/v1/projects?keyword=spa","lists_url":"https://awesome.ecosyste.ms/api/v1/lists?topic=spa"}