On 7/5/16 9:00 AM, Alejandro Galue wrote:
> My goal for the DevJam 2016 is remove all the GWT related pages, and
> replace them with their AngularJS versions (even if that means add some
> improvements to the ReST API).

+1. I think everyone agrees that the piecemeal GWT components need to be
replaced and I think that Angular is a perfect solution for that since
(a) it's easily embeddable in the places that we use GWT and (b) almost
everything it needs to display is already available over REST (interface
lists on node page, resource lists for graph picker).


> My second goal is to standardize and normalize the JavaScript
> dependencies in OpenNMS WebApp in order to have common
> NodeJS/Bower/Karma/* configuration, and treat all the JS dependencies
> like AngularJS as we do with any Java library with Maven.

+10. My blood pressure rises slightly every hour I do JS development
without a test framework in place to save me from the many bugs that I
am surely writing.


> In my personal opinion, it is a waste of time and resources to develop
> with Vaadin. It is drastically faster, enjoyable and more easy to use
> any JS library like AngularJS, specially for testing, but unfortunately,
> the main views we have with Vaadin require lots of changes to expose the
> required information through ReST in order to replace them with
> AngularJS, but I hope this can change in the future.

This is a serious problem that we need to address. In the past, our
"model" objects were well-defined because they were tied directly to an
XML file (configs) or a database table (Hibernate DAO). For new systems,
the model objects are Java classes that aren't necessarily mapped to
persistent storage (ie. topology). However, we still need a way to
retrieve/manipulate these objects via REST so that Angular/*.js can
access them easily to produce UI elements.

I feel like in these cases, using Vaadin was like a prototyping step
because by using it, we didn't need to strictly separate the model, map
it to JAXB, then make a REST interface out of it while 5 people are
working on a UI on top of it. So maybe that was OK.

To use topology as an example, now that its code is more mature, we
should extract its model and treat it as relatively frozen (as frozen as
any other model object, like OnmsNode) so that we can wrap a REST
interface around it. Then we'll have the ability to use JS to refactor
the UI and it will give devops people an easy way to hook into the
topology API.

Would it have been faster to go REST-first with the topology UI if we
were starting out on it today (and had the JS/REST experience that we
have now)? Definitely. So that's probably how we should work on new
projects.

My $0.02,
Seth

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/index.php/Mailing_List_FAQ

opennms-devel mailing list

To *unsubscribe* or change your subscription options, see the bottom of this 
page:
https://lists.sourceforge.net/lists/listinfo/opennms-devel

Reply via email to