Abstractions and the Frappe Framework
Shivam Mishra (~scmmishra) |
Abstractions build frameworks, ranking from the least abstractions to the highest, one would probably start with Flask and end at Django, what most devs don't know about is the Frappe framework, it's one of the most powerful web frameworks written in Python, MIT Licensed, developed over 8 years by a small team in India.
This talk focuses on how web frameworks are built, right from PEP-3333 to diving into the code of these abstractions that help build frameworks like Flask, Django and Frappe and how these principles can help us create almost anything using Python.
Contents of the talk.
The talk will progress through three sections.
What makes a framework
This Section covers the basics of a web framework implementation, includes concepts like WSGI, ORMs, etc.
- Design Patterns
How to use to design patterns to build real world Abstractions
Here the focus is on exploring a few design patterns beyond the Vehicle-Car-Truck or Animal-Cat-Dog examples.
How Batteries help built the most powerful framework on the planet
The last section of the talk focuses on how Frappe framework uses the power of abstractions, and some clever use of rather simple design patterns that allows rapid development of apps for the web.
Take-aways for the audience
- Understanding the use of good design patterns beyond the toy examples of Animal-Cat-Dog
- Dive into the codebase of popular web frameworks and their implementations of common abstractions around DB, Errors, Templating etc.
- An introduction to the Frappe framework and the concept of DocTypes (A meta driven approach for creating DB models and controllers)
- Object Oriented Python
- Understanding of how HTTP works
- Experience with at-least one web framework
I'm a developer from Mumbai, working at Frappe Technologies. Along with a very passionate team and many contributors across the globe, I help build and maintain the MIT licensed Frappe framework, and ERPNext, the world's best Open Source ERP.