What I'd like more than anything else is examples of substantial web apps written without a framework.
What I'd like more than anything else is examples of substantial web apps written without a framework.
This is probably what they meant:
"Developers will move, I believe, from monolithic frameworks like Angular.js and Ember to a ‘pick n mix’ of small, dedicated libraries to mitigate the risk of churn"
Source: http://www.breck-mckye.com/blog/2014/12/the-state-of-javascr...
Take this basic idea of what an app does (I use code in this context to mean js that was written by you.)
Input -> The code -> Output
Frameworks: The code exists in all three areas, resulting in having to change all three areas of the code instead of one.
Libraries: The code exists separate of the input and output, allowing one to make changes to any of the three areas without having to change much (if anything) in the way the code works. This (in theory and usually in practice) also makes testing easier to develop even if the code wasn't designed with testing in mind.
For every project and team, you [and the team] have the flexibility to choose the libraries that would be effective for said project. Thus, the ad-hoc framework would generally be different for every project.
In general, you [or the team] probably wouldn't re-invent the wheel, and you'll likely to find a decent library on npm.
So, there are frameworks and there are libraries. With a framework, you use the structure provided by the framework, and hook pieces of your code into it; with a library, you structure your code to your problem, and use libraries to provide functionality.
Frameworks are generally easier to get started with: they provide a lot, and their pieces generally work well together. But inevitably, the day will come when you need to do something not envisioned by your framework, and then you're stuck: it can be arbitrarily difficult, painful and/or low-performance to do what you need. That last point is also worth mentioning: because a framework tries to be good at providing the same structure for a lot of different problems, it inevitably is a jack of all trades and a master of none. This can end up meaning poor performance, due to needing to call lots of functions to do simple things (imagine some hellacious Java framework with AbstractFactoryVisitorSingletons), or it can be a pain on the programmer, or both.
Meanwhile, libraries are just that…libraries of code that the programmer can use to implement needed functionality. How he stitches them together is up to him.
With a framework, your code lives within someone else's structure; using libraries, other people's code is called by yours.
'How are things structured?' However you want!
Read http://tom.lokhorst.eu/2010/09/why-libraries-are-better-than... for more, and http://www.evanjones.ca/frameworks-necessary-for-large-scale... for an opposing view.