3 ms·
I've not seen the residue of these problems get worked out yet. We're still committing sins of architecture with undesirable side-effects of byzantine framework
by pistle 12y ago
I've not seen the residue of these problems get worked out yet. We're still committing sins of architecture with undesirable side-effects of byzantine frameworks which are amazing for Hello, World, but devolve into an exhausting mess for modification and long-term maintenance...
3-5 years from now, when new low or framework naive mid-tier devs approach our current javascript MV* frameworks, they are going to be getting screamed at by the business and exec parts of orgs because they seem inefficient or incompetent.
They may be working on dead platforms, without strong communities, breaking things as they fix or change other things, and doing it all so much slower than the original dev did. It will be interesting times.
It's bad enough to try to work on 5-year-old, well-known/popular paradigms in the brownfield, but try making what seems like a simple change to the brownfield while not being able to tear out the deadwood, and since-maligned, framework trends we've been building on now.
- noir_lord 12y agoThis is one of the reasons why for my "startup" (it's a SaaS product but for a niche industry so not a typical "grow big/grow fast" project). I chose PHP/Postgres/Apache/JQuery and Knockout.js None of them are particularly exciting or sexy but I'll place bets on all of them still been around in 3 years and as a solo developer I chose conservative technologies I know really well (with the exception of Knockout.js but I needed something to marshal jQuery and Knockout fits my workflow really well (lots of forms and bits and pieces)). Essentially I picked "boring" solutions, I like boring, boring is supported in a year, boring doesn't fall over at 2am for some obscure edge case, boring has taken it's beating and had it's rough edges warn off, boring has google results for "Unknown Error: FinangleFoo has thrown error 12131NOTDOCUMENTED". I like boring.
- mcintyre1994 12y agoOut of interest are you using a PHP framework? Just wondering what your choice would be because unless Laravel is boring yet I haven't got any experience with the boring ones :)
- noir_lord 12y agoYup, I use Laravel (was a tough choice, it's new but the features and speed benefit make it worth the risk plus it's open source and built on symfony to a large extent which is going nowhere) but my application is mostly decoupled from it (Uncle Bob Martin style). I could (relatively) painlessly move to another framework (particularly Symfony2) the only major pain point would be the Eloquent ORM but as I've wrapped all that behind repositories the interface would remain consistent.
- twistedpair 12y agoI've been wondering this as well. I maintain a large enterprise app and some former dev's used `ThisThat.js` and `SomethingNewThisWeek.js` to accomplish a few hacks, but low and behold a few years later and they are all EOL and breaking, not to mention many cannot be upgraded because they are so amateur they don't use namespaces and conflict. The many sites are going to be bit in a few years when the recent JS Explosion of new libraries wanes and we've got 1000 unsupported JS libraries out there and you're having to tell the department head the whole app UI has to be written, again, to keep up with that zag no one saw coming with the web. For this reason I love Google Web Toolkit(I've done the ExtJs/Bootstrap/YUI/JQueryUI thing too) as it's totally open source, community driven, Google backed, and still going strong with releases and community support 8 years later. The beauty is with Maven, I just increment the framework version number and I get all those new compiler optimizations, IE versionX++ and Blink support for free. As long as JS remains a shell of a language, I think compiling down to JS is the most sensible approach (i.e. Typescript/Dart/ASM.js/GWT) rather than having to fight the vagaries of torturing another trick from JS. Use a framework in a high level language that makes your life easier and future proof. Of course, one day ECMAScript might really become a serious language, but then I'll just update my GWT compiler and take advantage of that with a recompile.