- Abstract (What is the Thesis about)
- TOC |
- Introduction
- intro.md |
- what is it? |
- the idea |
- intro.md |
- Salon implementation
- Technology overview |
- Model Structure |
- Navigation (breadcrumb style) |
- Menu (changes on login status) |
- Pages
- Index Page |
- Registration |
- User#show () |
- Page#show () |
- Page#edit () |
- Image#show |
- Image#edit |
- Page#Index |
- Search |
- Drag&Drop implementation |
- Visual Design |
- Features to come / Quo vadis Salon? |
- Conclusion / Evaluation [half way done]
- Single Page Web Apps
- Intro (why I used this approach for Salon) |
- comparison with normal website request model |
- Changes / differences |
- urls [mention push state]
- rendering |
- authentication |
- i18n | <- may remove this one
- notifications |
- forms |
- Benefits |
- Speed / Efficiency |
- Same Language FE/BE |
- User Experience |
- Transitions |
- Sound |
- Problems / Pitfalls |
- SEO |
- New Tools needed |
- Sensitive data / Exposed Business Logic |
- Accessibility |
- Conclusion |
- Intro (why I used this approach for Salon) |
###Outline
- Introduction
- Standard web server scheme
- Changes caused by AJAX
- Single Page Web apps
- Components
- Server (mainly to return json)
- Client (fetching data and presenting them)
- Concepts
- internationalization on the client side
- all the views on the client
- Where to place business logic?
- Models on the server VS
- Models only on client
- security issues
- admin-mode-hack
- csrf-attacks
- when is a user signed in? and who should handle that? (:is_editable field ftw!)
- javascript debugging tools are hackers best friends
- Pitfalls
- no auto-completion in forms
- state-problem (e.g. salon-breadcrumb-navigation)
- state change problem
- hashbangs and search engines
- hashbangs and tracking sites like google analytics (compare tracking pixels vs. js clients (analytics))
- hashbangs and advertising plugins
- users that have javascript disabled
- memory consumption? xstats.js - https://github.com/jdalton/xstats.js
- caching!!!
- Benefits
- no complete reload
- fewer data transfer
- ability to do animations between page changes
- server spends less time to render stuff
- comparison of request pipelines (traditional vs single page)
- Implementation (salon)
- idea (original salon)
- tools (backbone, jquery, self-written tools -> form_helper, dnd )
- structure
- data-flow
- learnings
- quo vadis? (custom css, socializing, more assets)
- Conclusion
- Pros
- Cons
- Quo vadis?