Siddharth Sharma
Profile_image?user_id=23555845&size=bigger
Ranked 29 in Phase 2 with a weighted final score of 108

About the author

Hi, this is Siddharth Sharma from Mumbai, India. I've been a rubyist since 2008 and been programming pretty much every day since 1987. I'm the author of several datamapper gems and have some modest open source contributions. It has been very interesting to be a part of this wonderful community and to learn along with it the best way of building large, complex real world applications. I do believe I have one or two learnings to contribute and I'd love the opportunity to show you how I build Ruby applications and present them to the web! Do upvote my proposal on how to "build your own web framework in half an hour".

Roll your own web framework in half an hour

Web apps are moving from being monolithic beasts to smaller, more composable services working in tandem to provide the user a harmonious experience. In such a situation, perhaps you find that your favourite web framework is overkill for a particular task, or that it doesn't play so well with some tasty new toy that's just been released. It's time to roll your own web framework.

The talk will be a lot about Rack, some of the design decisions that one might make differently while putting together a framework and also about the cool tools that we have at our disposal as rubyists when we set out to mount some URLs on bare metal. If there is time, we'll talk about how building services that adhere to SRP can bring to your web app a competition-beating degree of flexibility.

It is the intention of this talk that seeing a framework built in half an hour will give the audience the tools necessary to evaluate the various frameworks out there in terms of their design tradeoffs (if any), to better understand the Rack ecosystem so they can contribute to existing frameworks and as a last resort, to take matters into their own hands.

It is also intended to further the audience's appreciation of how much work Ruby developers have put in to bring us to a point where we can trivially create web frameworks by combining some awesome gems.

I have in mind a different approach from most micro-frameworks utilising some different design choices (no magic, proper object orientation, extreme testability) and will certainly touch upon the pros and cons of the various choices made by other frameworks in my talk.

I will be live coding, starting with a router, then building simple, easily testable rack apps that respond with the desired data, layering on some nice Rack utilities that deal with URL parsing, security, JSON, CORS and so on until we end up with a pretty decent and blazing fast web framework.


Previous Next

Suggestions

  • The proposal author responded 9 months ago

    Thanks for the suggestion Fotos.

    It is the intention of this talk that seeing a framework built in half an hour will give the audience the tools necessary to evaluate the various frameworks out there in terms of their design tradeoffs (if any), to better understand the Rack ecosystem so they can contribute to existing frameworks and as a last resort, to take matters into their own hands.

    It is also intended to further the audience's appreciation of how much work Ruby developers have put in to that we can trivially create web frameworks by combining some awesome gems.

    I have in mind a different approach from most micro-frameworks utilising some different design choices (no magic, proper object orientation, extreme testability) and will certainly touch upon the pros and cons of the various choices made by other frameworks in my talk.

    I will be live coding, starting with a router, then building simple, easily testable rack apps that respond with the desired data, layering on some nice Rack utilities that deal with URL parsing, security, JSON, CORS and so on until we end up with a pretty decent and blazing fast web framework.

    I will be amending my proposal to incorporate your feedback. Thanks again.

  • 3c7964e731bc7da3786195d7ac264209?d=retro Fotos Georgiadis suggested 9 months ago

    The trend is indeed to break monolithic apps to more manageable services. I'd certainly like to see the best practices on building manageable services / APIs and / or how to transition from a huge monolithic app to service oriented ones.

    While this proposal is interesting in itself, there a lot of micro-frameworks out there already (camping, cuba, sinatra, grape to name a few). I'm not quite sure how learning to roll yet another one (micro-framework) makes this a good presentation. Well, what might make this more interesting is to include a small walkthrough of the existing micro frameworks, their pros and cons and then delve into making another one along with the qualities it should possess in order to differentiate itself and at the same time solve problems unresolved by the existing (micro-)frameworks.