We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 36416
    • 589 Posts
    Quote from: lokamaya at Nov 20, 2012, 01:14 PM
    About ExtJS, once I heard Shaun McCormick (aka splittingred) said that ExtJS has been choosen for backend manager because it's OOP feature. I myself agree with that. You can look at another javascript framework, but no one can match ExtJS in terms of OOP. ExtJS is the most complete and extendable OOP framework, and that really help the development and perfectly fits with MODx.

    Sencha is JS state-of-the-art at the moment.
    For future app-oriented frameworks AngularJS looks really nice...
    • Quote from: danya_postfactum at Nov 20, 2012, 11:30 AM
      jQueryUI does not abstract you from HTML. I don't want to know about HTML when I write my app/component. And I want to easy dynamic creation/destroing of components. Yes, ExtJS generates heavy DOM structure, but this enables flexibility and power of components.

      I'm sorry, you want to write an app/component running on the web without knowing about HTML? You've chosen the wrong medium - why not do native app development (iOs, Android or Desktop) communicating with MODX via a HTTP-based API, rather than bending web technology to do something it cannot at present without pain?

      I believe MODX needs to go to a fully API-based client-server approach for this reason, so people can do whatever they want on top of the content store.

      I hope we get cool canvas-based fast frameworks in future, but now we have to use slow DOM frameworks.

      When we do that's the end of the web as an accessible medium, and back to a Flash-style black box, and I for one hope this never happens. The app ecosystem we're getting now is a replacement for the web, but at least they're mostly coexisting right now...
        MAPLEDESIGN MODX development and MODX web design and custom development. Proud to serve UK and International clients!
      • Quote from: danilocuculic at Nov 20, 2012, 02:05 PM
        For future app-oriented frameworks AngularJS looks really nice...

        Agreed, I like the HTML+ approach taken by AngularJS. I also like BackboneJS (I think its REST interface/editing of objects is second to none) but for updating DOM states...

        Oh, and don't miss EmberJS (which came out of Sproutcore, one of the close alternatives to Sencha)!
          MAPLEDESIGN MODX development and MODX web design and custom development. Proud to serve UK and International clients!
        • Here are my two cents (probably a lot more than that) to the original question is to first list the goals that the next manager should have. I would put them as follows, note I think many of these are assumed by some that have posted:

          1. Content Editors: Build, enhance and simplify the day to day management tasks for the Content Editor. Plan and simple editors want to do more in less time. This has to be a higher goal then what JS framework is picked. If a "purer" or more likable framework is chosen without improving the job process of the Content Editor, it does not matter.

            Also native version control and work flow. Like having a Contributor submit edits to a Content Editor. Have a new version/draft of the same page go live at a selectable time.
          2. Design: Device Agnostic, Responsive or Adaptive Design out of the box with no addons.
          3. Permissions: They need simplified and enhanced, see my proposal: http://tracker.modx.com/issues/9079
          4. Developer: Simplify the process of CMP development. Suggestion use MODX to build the Manager and CMPs not Connectors, ExtJS with a mix of Smarty and PHP. It is so easy to build a website with MODX, so why not use MODX to build the Manager?

            What I mean by use MODX to build the manager is that it would be awesome if Web Devs Admins could see all manager functions as pages in the tree just like normal pages and edit them just like other pages. So you could choose a "theme/template" on each page or have it set to the "manager theme". This way you could have a Legacy theme to support Revo CMPs and then whatever the new theme would be. For what I see as the most compelling reason to use ExtJS in the first place was the use of the Grid and Panels/Windows. I think a grid could be called/created via a snippet call and so everyone with little instruction could put a Grid on their CMP. The "connector" would just be another page/resource defined as JSON, this again would call on another snippet that does all of the processing with just defining what DB object(s) to use and what processing class to use. Now a user that knows how to build with MODX and basic PHP and DB stuff could create a simple custom functional data grid or CRUD in minutes. Also since this would be built the MODX way each snippet would have Chunks relating to how it is being built. So in theory a developer could build the his own grid theme and have the manager use it and even publish that theme in the Extras. On the same thought form creation has to be robust also and be allowed to be built and extended using Chunks. If the manager is built this way then there would be a very low learning curve on how to build your own CMP. I have been working on a project with the goals described here but it is not ready to be published and currently has no docs with it. If you you are interested and have a good understand of MODX and PHP development you can check it out: RAD-UI.

          JS Framework thoughts, I personally would prefer jQuery or something built on jQuery that is lightweight. I like and am using SlickGrid for some things and have it in my RAD-UI project. For the panel/windows maybe jQueryUI or http://www.jquerytools.org. [ed. note: jgulledge19 last edited this post 11 years, 5 months ago.]
            • 39194
            • 149 Posts
            Quote from: pbowyer at Nov 20, 2012, 02:13 PM

            I'm sorry, you want to write an app/component running on the web without knowing about HTML?

            Yes. Because HTML - is Hyper Text Markup Language. I don't need to markup any text. I need components - buttons, combos, grids, windows etc.
            HTML provides a button, for example:

            var button = document.createElement('button');
            button.innerText = 'My button';
            button.id = 'button1';
            button.addEventListener('click', function(){alert('hello!')});
            


            But what if I want split button? How can I easy create this? What if I need a grid? Combobox?

            HTML povides select, for example, but it does not allow to extend this to create combobox.

            ExtJS, qooxdoo etc provide all that a developer needs. I just want to focus on programming my extra, I don't want to know what my components use for rendering - div, span, canvas or svg.

            HTML initially is not designed for writing apps, so this lacks of many things , that developer needs. Such libraries as ExtJS eliminate these whitespaces...
            • Quote from: danya_postfactum at Nov 21, 2012, 02:48 AM
              ExtJS, qooxdoo etc provide all that a developer needs. I just want to focus on programming my extra, I don't want to know what my components use for rendering - div, span, canvas or svg.

              HTML initially is not designed for writing apps, so this lacks of many things , that developer needs. Such libraries as ExtJS eliminate these whitespaces...

              I want to quote Alex Russell's blog:

              [Developers building the DOM directly and not using markup] is a clear distillation of what scares me about the road we're headed down because for each layer you throw out and decide to re-build in JS, you end up only doing what you must, and that's often a deadline-driven must. Accessibility went to hell? Latency isn't great? Doesn't work at all without script? Can't be searched? When you use built-ins, those things are more-or-less taken care of. When we make them optional by seizing the reigns with script, not only do we wind up playing them off against each other (which matters more, a11y or latency?) we often find that developers ignore the bits that aren't flashy. Think a11y on the web isn't great now? Just wait 'till it's all JS driven.

              From a practical perspective, I find ExtJS too alien from web development to be useful as a long-term web developer; it requires me learning a new framework just to extend my web-focused CMS to provide clients with a GUI to put data into their markup-driven HTML web pages, for which there's no benefit. I could use this time to learn Objective-C and build native iOS apps. Sencha 4 looks much nicer to work with, but it has the same cognitive dissonance for web developers.

              Your comment about split buttons and combi-boxes is spot on; eventually HTML should provide a way to extend widgets; for now we will have to use JS.

              Except for the practicalities I note above, our differences are philosophical about what the web, and apps built on the web, should be. It makes for an interesting discussion!
                MAPLEDESIGN MODX development and MODX web design and custom development. Proud to serve UK and International clients!
                • 38290
                • 712 Posts
                I hope we get cool canvas-based fast frameworks in future, but now we have to use slow DOM frameworks.

                I agree that this would be the end of the web as an accessible medium and if anything worse than Flash. There should always be HTML underneath, then if necessary decorate and enhance with Flash or JS or whatever else.

                Yes canvas is an HTML5 element, but it's drawn with JS.
                  jpdevries
                  • 39194
                  • 149 Posts
                  I would like to see DOM+canvas implementation. For now, we need many extra-divs for decoration (visual) purpose. But we can use only one div + canvas for each semantic element of widget.
                    • 38290
                    • 712 Posts
                    One interesting idea that was brought up during Ryan Thrash's open mic discussion at MODXpo this year was on the ability for your code editor, such as CodeMirror or Ace, to recognize element tags and turn them into hyperlinks that when clicked open that element for editing in say a new tab.

                    This could really help save time when developing in the Manager.

                    Somewhat related, I've released an addon that adds an evo-Style QuickBar to the front end of your site for logged in users. This can save time to do things like editing a resource you are viewing on the front end, or maybe can find easier on the front end than in the manager.
                    http://devries.jp/quickbar

                      jpdevries
                    • Yes!!! I've been waiting for this! Going off right now to install it on my Cloud site!
                        Studying MODX in the desert - http://sottwell.com
                        Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
                        Join the Slack Community - http://modx.org