<story><title>Frameworkless Movement</title><url>http://frameworklessmovement.org/</url></story><parent_chain><item><author>marcus_holmes</author><text>&amp;gt; These frameworks taught me how a web app should be structured (models, views, controllers, services, migrations, middleware).&lt;p&gt;Well, that&amp;#x27;s how they &lt;i&gt;could&lt;/i&gt; be structured. There are many other ways. MVC is only one option among many, and it has its drawbacks too.&lt;p&gt;Your application doesn&amp;#x27;t need logging until you have a problem that is solved by logging. It&amp;#x27;s possible that you never have such a problem. If that&amp;#x27;s so, then building a logging subsystem is a waste of time.&lt;p&gt;&amp;gt; I don&amp;#x27;t get many of the concepts involved with building a microservice (circuit breakers, service discovery, etc)&lt;p&gt;This is because you haven&amp;#x27;t really learned how to think about solving a problem with code, but have instead learned to apply a framework to any problem. If you try solving the actual problem you have first, which involves really understanding it, then you&amp;#x27;ll probably find that the framework solution is vastly overspecced for your particular situation. Because the framework has to cater for a much wider range of situations than yours. If you write your own solution to the problem, it will (almost by definition, and assuming you write decent code) be a smaller, tighter, faster and more appropriate solution than the framework solution.</text></item><item><author>veeralpatel979</author><text>I wrote my first web app with Django. And then Rails. These frameworks taught me how a web app should be structured (models, views, controllers, services, migrations, middleware).&lt;p&gt;Now, if I wanted to, I could build my own application without Django or Rails, as long as I had something to accept incoming HTTP requests, make responses, and a library to make DB calls.&lt;p&gt;But I wouldn&amp;#x27;t have gotten to this point had I not learned Django and Rails first.&lt;p&gt;I think using a framework turns many &amp;quot;unknown unknowns&amp;quot; into &amp;quot;known unknowns&amp;quot;.&lt;p&gt;I can read my framework&amp;#x27;s documentation and learn it has built in logging, so logging is something I need to think about when building a web app. It lets you filter sensitive data from logs, so that&amp;#x27;s something I need to think about.&lt;p&gt;This is why I was building a type of application I didn&amp;#x27;t build before, I would look for a framework I could use, or something like it.&lt;p&gt;I&amp;#x27;d use go kit for building a microservice for example. I don&amp;#x27;t get many of the concepts involved with building a microservice (circuit breakers, service discovery, etc) and hopefully the framework would help me learn them.</text></item></parent_chain><comment><author>eitland</author><text>&amp;gt; If you write your own solution to the problem, it will (almost by definition, and assuming you write decent code) be a smaller, tighter, faster and more appropriate solution than the framework solution.&lt;p&gt;Only if you know what you are doing.&lt;p&gt;I have read smart people admit that at some point they realized that the compiler had outsmarted their clever inline assembly hacks and I fully expect this to be true in a frameworks vs homebuilt scenario as well.&lt;p&gt;Also: The number of people who knows my or your brilliant solution will always be dwarfed by the number of people who knows Rails, Django, Laravel or Spring, meaning as soon as you need to hire you are at a significant disadvantage.&lt;p&gt;(I&amp;#x27;ve seen brilliant people running frameworkless also, but I wouldn&amp;#x27;t necessarily recommend it for more ordinary people like me ;-)</text></comment>
<story><title>Frameworkless Movement</title><url>http://frameworklessmovement.org/</url></story><parent_chain><item><author>marcus_holmes</author><text>&amp;gt; These frameworks taught me how a web app should be structured (models, views, controllers, services, migrations, middleware).&lt;p&gt;Well, that&amp;#x27;s how they &lt;i&gt;could&lt;/i&gt; be structured. There are many other ways. MVC is only one option among many, and it has its drawbacks too.&lt;p&gt;Your application doesn&amp;#x27;t need logging until you have a problem that is solved by logging. It&amp;#x27;s possible that you never have such a problem. If that&amp;#x27;s so, then building a logging subsystem is a waste of time.&lt;p&gt;&amp;gt; I don&amp;#x27;t get many of the concepts involved with building a microservice (circuit breakers, service discovery, etc)&lt;p&gt;This is because you haven&amp;#x27;t really learned how to think about solving a problem with code, but have instead learned to apply a framework to any problem. If you try solving the actual problem you have first, which involves really understanding it, then you&amp;#x27;ll probably find that the framework solution is vastly overspecced for your particular situation. Because the framework has to cater for a much wider range of situations than yours. If you write your own solution to the problem, it will (almost by definition, and assuming you write decent code) be a smaller, tighter, faster and more appropriate solution than the framework solution.</text></item><item><author>veeralpatel979</author><text>I wrote my first web app with Django. And then Rails. These frameworks taught me how a web app should be structured (models, views, controllers, services, migrations, middleware).&lt;p&gt;Now, if I wanted to, I could build my own application without Django or Rails, as long as I had something to accept incoming HTTP requests, make responses, and a library to make DB calls.&lt;p&gt;But I wouldn&amp;#x27;t have gotten to this point had I not learned Django and Rails first.&lt;p&gt;I think using a framework turns many &amp;quot;unknown unknowns&amp;quot; into &amp;quot;known unknowns&amp;quot;.&lt;p&gt;I can read my framework&amp;#x27;s documentation and learn it has built in logging, so logging is something I need to think about when building a web app. It lets you filter sensitive data from logs, so that&amp;#x27;s something I need to think about.&lt;p&gt;This is why I was building a type of application I didn&amp;#x27;t build before, I would look for a framework I could use, or something like it.&lt;p&gt;I&amp;#x27;d use go kit for building a microservice for example. I don&amp;#x27;t get many of the concepts involved with building a microservice (circuit breakers, service discovery, etc) and hopefully the framework would help me learn them.</text></item></parent_chain><comment><author>rswail</author><text>&amp;gt; If you write your own solution to the problem, it will (almost by definition, and assuming you write decent code) be a smaller, tighter, faster and more appropriate solution than the framework solution.&lt;p&gt;It will be more appropriate for &lt;i&gt;right now&lt;/i&gt;. Whether it&amp;#x27;s smaller, tighter, or faster (or any other qualifier) is dependent on the code quality.&lt;p&gt;As the manifesto says, using a framework involves tradeoffs. One of those is trading that direct current appropriateness for future expandability, reliability (bug repairs etc) and other advantages of using someone else&amp;#x27;s code that covers more use cases than your specific, current needs.</text></comment>