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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.