Re: Reactjs for Plone UI Toolbar
Davide Moro <davide.moro-LsPWZfGv9U5Wk0Htik3J/[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.devel |
|---|---|
| Message-ID | <[email protected]> |
Il 29/05/2014 15:25, plone-developers ha scritto: > Some clarifying concepts: > AngularJS, BackboneJS and EmberJS belong to the class of MVC frameworks. > ReactJS is kind of V (the View) in MVC. > Nothing prevents you to use ReactJS in combination with one of the > existing frameworks (AngularJS, BackboneJS and EmberJS). > You're encouraged though to combine both! > Use ReactJS only for those parts where it makes sense and let one of > the MVC frameworks do their work. Sorry for the late response. I totally agree with Jens and Timo's point of view. [Other thoughts about Plone and how to attract new html/js developers... I'm completely OT now] We need to make things understandatable and simpler for new entries. Probably before talking about which framework adopt or other cool things, we really need a decent api usable via javascript. Once filled this gap, we can choose a framework and do other cool things. Plone's has a great potential as a development framework for vertical applications, it it not only a simple CMS. It can be used as content (model), workflow and security provider with completely rewritten javascript frontend. So, behind the scenes you use the things that make Plone good because other very popular frameworks completely lack with workflow and security (you have to rewrite all from scratch). The same api could be used for implementing a completely javascript frontend in Plone 6 or 7. If we want to attract new developers (html/javascript developers) to the Plone's ecosystem, we should let them to write plain html and js with a modern development stack. This can be done writing a yeoman generator (alias zopeskel/templer). Example: * yo plone * yo plone add model -> invoice * yo plone add field to invoce -> date * yo other subcommands... (permissions, etc) At the end of this process you get a running Plone with a dexterity content type Invoice with the fields chosen by the users (date for example) and /invoices (plain list of json) or /invoices/INVOICE_NUMBER (json data of invoice) endpoints. Done, no portal javascript, but minification of js/html/css and other stuff using modern tools, bower and so on. After that you can tell your new developers: * if you want to customize the invoices listing, go to ../browser/templates/invoices.pt * if you want to customize the invoice view, go to ../browser/templates/nvoice.pt * if you want to customize the home view, go to ../browser/templates/home.pt This way we can transform Plone as one of the most powerful Python-based development stack with Javascript-frontend and security and workflows ready to be used. You can also provide Angularjs-resources-like objects with the context functionality abstraction. I'm feeling that the community is investing time providing solutions for avoiding touching html and javascript (z3cform or other stuff), but at this time developers want to write plain html and javascript. This way you don't waste time to remove things not needed that Plone provides. I don't know if there are similar plans, but I think it might be a good (or crazy) idea. davide -- Davide Moro Technical Development Manager http://linkedin.com/in/davidemoro82 Redomino Srl http://redomino.com HQ Largo Valgioie 14, Turin IT Phone +39 0117499875 ------------------------------------------------------------------------------ Time is money. Stop wasting it! Get your web API in 5 minutes. www.restlet.com/download http://p.sf.net/sfu/restlet _______________________________________________ Plone-developers mailing list Plone-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/plone-developers