Having a service oriented architecture in web projects require interfacing the backend using a REST-ful interface. Building your website as a single page app allows you to focus on building the API up front, rather than duplicating your efforts to build a website and then replicating the functionality with an API. With a single page app, your website can be constructed in much the same way as a mobile app. Django and the Django REST Framework enabled my team to quickly deliver a highly functional REST API that was customised to our unique needs.
React is a great tool to keep UI organised, but won't keep track of the data and state of application. Redux comes to rescue over here - it defines a minimal but sufficiently powerful way of interacting with that state. An action from the UI is combined with a simple JS object(state). Redux helps developers manage the state and flow of data around an application.
One of the strengths of redux is that everything is very explicit. It eases out the process of managing the state and flow of data around an application. Imagine tons of asynchronous actions without introducing annoying UI bugs.
The talk will be an introduction to all the moving parts. How and where does Redux fit into the bigger picture of REST APIs and Client Side MVC, and how to seamlessly introduce the goodness it brings to your django project. We will also see some non obvious things that we had to deal while using redux.
Specifically we will address the following
- Handling authentication with REST API and your SPA.
- Seamless integration of Django Forms
- Client side form validation for Django
- Introduction to all moving parts
- Setup your JS Environment
- Resource & Dependency Management
- Asset Pipeline
- hot reloading React components as a bonus
Attendees should be aware of the concept of SPAs.
Saket is founder of a SaaS product named Sosio. Sosio caters to the data needs of non-profits and SMEs. He has been semi-active in tech-conferences attending and delivering talks across the globe. In his personal capacity he has introduced Python to more than 500 individuals, and conducted training sessions at corporate houses like Oracle. In his previous life, he spent good chunk of his time optimising computational mechanics algorithms.