written by owen
The main problem I have with these babies is that people never reach a point of completion with the projects they start in these bullshit-all-in-one platforms. It would be great if everywhere you look you see cool and interesting stuff being built but most will point you to Slack, Atom or Drupal and say; "THERE! LOOK! SEE! Cool open source!" - million dollar platforms that pay people to keep them working. Unfortunately the average devs just create half-ass clones of existing stuff with 35% of the original functionality - low hanging fruit. None of the hard problems are implemented. And they will justify the emperor's new clothes by saying its "faster", more secure, component, prop passing, content insertion, transitions etc but you lose more than you gain. Most meet up on a wall maybe 6 months or a year into the project when important things like reports or multi-views need to be created. Then they get bored and move on to the next hype train because they either run out of time or patience. Google will not save you.
Whenever one analyzes a platform the first thing they should ask themselves is "what is the most complicated thing I may need to do that will waste the most of my time?". Web devs seem to be only interested in how many lines it will takes to write a "todo list" app. Which is all good if all you end up writing a todo list before the project stagnates and is left to gather dust on github - NEVER TO BE UPDATED.
No new features
You wait for them to finish the promised features but they will say stuff like "everybody's implementation will be different" or "no one size fits all" or "its up to the programmers to decide" or "open source, you can help us finish it". They create a base of "potential". I wish potential was enough to get us nice things. They wont go down in to the rabbit hole of what to do when you have 200k pages and a application so big that it can't fit in server memory - ADD MORE RAM or write a C module. Basically they want you to help find bugs/workarounds in their shit-poorly-tested-hacked together framework of pain. Until of course they deprecate the entire platform from beneath your feet and release a api version 2 that is incompatible with version 1 in every way except platform name. By the time you see version 2 they will have already re-wrote all their stuff in the new version. The lucky few will get migration scripts. Simple is stuff will be easy, but the hard stuff will be impossible.
Complicated Old Stuff
I am not sure why web devs are obsessed with finding more complicated ways to do simple old stuff - like tables, tabs and input forms. Video game developers have solutions with highly tested code that covers a wide range of use cases for new technologies which free them from doing complicated things themselves. Shadow mapping, bump mapping, Occlusion culling, Octrees are often easily implemented without the headache of having to learn each one. But you still can if you want to.
Web developers seem to be stuck writing server side HTML with JS using listener functions. Which is all well and good if that is your kettle of tea but it it produces nothing but fancy HTML pages with AJAX that you could have done in PHP in 2001. You couldnt do Occlusion culling back in 2001 without a advanced techniques or secret vodo. Web devs are finding complicated ways to create the same functionality that HTML has had since IE4 and still complain about IE4.
People never really go down into the nitty gritty of what these "needs" will actually be in the future of js babies. It is a ambiguous mess of tools and work-flows which make people wonder if they are doing something wrong by not using each and everyone of them.
One could test out all of the tools but there is not enough time in the day. I was looking at www.red-lang.org/ the other day and it is likely that I will NEVER need to use this thing for anything useful but I can see a usecase for it and I can tell that it is doing something new and useful. What red provides is not covered in ambiguity or potential. You write one line of code and it pops up a window - DONE! The system input and the output is in harmony. Js babies on the other hand are abstractions on top of abstractions - a solution looking for a problem.