I am trying not to let this slide into a rant. I am a long time magento 1 developer and just recently started with m2. I was really excited about the prospects of greater performance and the absense of prototype. Then I stumbled into knockout.js and the fact that a default installation of magento 2 loads hundreds (yes, effing hundreds!!!) of javascript files (2+ MB for JS alone). What is wrong with these people?

The user experience due to asynchroneous loading of JS is outright terrible. Not only does it take forever to load but also when you THINK that the page is done loading and ready for use elements keep popping up or are NOT ready for use. One of the worst examples: form validation. Forms are submittable without validation as long as the corresponding JS is not done loading.

THE worst example: the checkout. The most sensible part of a shop takes ~10 seconds to load, riddled with hacky popups and slow response times.

Developing this (still trying to wrap my head around, hence this post) feels a bazillion times more complicated and time consuming. The seemingly simplest tasks (move blocks around, implement custom js functionality or remove default magento ui functions) take forever and are splattered over multiple layers and code.

I just don't see the advantage here. The shop creates more data to load, developing is more time consuming and the result is the exact oposite of slick, lean or fast.

IMO: a little custom ajax would get the job done a whole lot better with a tiny fraction of the overhead.

  • While I admit that requireJS and knockoutJS can be a little redundant at times, they compliment each other rather well. Assuming that you have your development running with client-side less compilation enabled, that would explain a lot in lieu of performance issues. In any case, this should probably be moved to the Magento Meta SE.
    – mtr.web
    Mar 29, 2018 at 18:38


Browse other questions tagged or ask your own question.