4 ms·
It's more than a new flavor of JS, it also supports e.g. routing and components. Some web apps ARE inherently complex. You might dislike that, but it seems unf
by erokar 7y ago
It's more than a new flavor of JS, it also supports e.g. routing and components.
Some web apps ARE inherently complex. You might dislike that, but it seems unfair to criticize Imba for that fact.
- peteforde 7y agoIn defence of the person you're replying to, can we not assume that web apps are inherently complex to the degree that complexity is table stakes? I feel like you're being reductive because the actual comment is that "complex web apps" should not be the aspiration. Telling someone that they shouldn't simplify something that is by definition hard is totally missing the point. Removing pain from a difficult process is legit; complex is not a status badge.
- johnday 7y agoI think people tend to talk past each other on this issue. The real problem with deciding upfront that something must be complex, is that it switches off that part of your brain which searches for simple, but hard-to-find, solutions. It encourages "greedy development" where you dive in before scoping out the best architecture, because who cares about the difference between complex and slightly more complex? Actively searching for simple solutions to hard problems encourages high quality design and architecture. Moreover there is no one way to do simple things; simplicity requires a wider toolset than complexity. If your marketing explains how your tool helps people to make a complex thing, it's either incorrect or it's a bad solution.
- ebiester 7y agoSo, let's say you take the simple solution. Then, the application keeps getting more and more complex due to the functionality requirements. Gradually, you've poorly and inconsistently implemented versions of the complex patterns in the first place, and the end result suffers for it. I've dreamed of creating a multi-phase approach to software where simple and complex can co-exist and methodically transition along the way, but I've yet to be able to crack the problem.
- peteforde 7y agoWhile I have nothing but empathy for our very-much shared pain, I have to insist that adding multiple layers of abstraction between a template and what the user sees in the browser + a maze of client/server sync flows + hyperactive ecosystem churn + webpack/babel + 750k npm packages because there's no stdlib = not a good start to finding a simpler A->B.
- johnday 7y agoYou might have misread the thing I was proposing. If your application "keeps getting more and more complex due to the functionality requirements" then by definition there's no off-the-shelf library or service that can help. If your complexities are known in advance, you can choose a pattern which builds good, simple, composable code. Honestly even if you're complexities aren't known in advance, it's still easier to build composable solutions out of off-the-shelf parts.
- codingdave 7y agoIt was more a critique of their marketing than their product. It is an interesting perspective that adding routing and components makes it more than a new flavor. It still compiles to JS, and doesn't add new capabilities to the language, just simplifies how you get those functionalities to run. Which again takes us back to my point... "Simplify your apps" sounds like a better marketing strategy than "Build complex apps."