• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

What is the mvc framework to use nowadays?

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all,

I'm an old java / jee programmer, but I haven't programmed JEE / web apps for at least 4 years, I'm a bit rusted.

So, what do folks use nowadays to develop web applications? I used to use struts, spring mvc and spring webflow, not very fond of none to be honest. So I'm looking for something really simple, something perhaps that comes with JEE out-off-the-box, an MVC framework.

My app will have a database with 5 tables (fact). With authentication, authorization, different views for different users, ssl. Some data stored as XML as a table field, some multimedia data, pics, video and sound. XML data will be a DSL so validating it with xsl would be a plus.

Any clue? Thank you!

P.S. I'm considering too to use Ruby. Any warning?

 
Ranch Hand
Posts: 270
15
Android Angular Framework Spring AngularJS Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi, Daniel:

I am in a similar situation, just getting back into Web GUIs after dealing with mostly Swing (yes, with a w) for the past 5 years.  Before that, I used Struts-2.  But I have looked at and tried various technologies over the interim, and recently have built some small web GUIs.
* Ruby: I took a course on Coursera (the Hopkins course).  That's another programming language.  It is weakly typed, so they lean heavily on unit testing.  It can be thrilling to get something working, but it can be frustrating to deal with versioning, and a whole lot of code you have no control over.  I know folks who used to do exclusive Java but now do exclusive Ruby.
* JSF (Java Server Faces).  I learned a little of this for a certification a couple of years ago.  It was similar in many ways to Struts/2 (probably the typical Oracle response).  If you do Struts/JSP, this won't be alien to you.  It is hard to tell how popular this is, really, but it has been proven.  Perhaps you could post to the forum on that.
* Struts2: still being used in various scattered pockets.
* GWT: this is Java being turned into JavaScript. I found it rather fun for the few months I did it.  It resembles AWT more than it does Swing (the model backing is not there, as in TableModel).  It allows folks to decorate with CSS.  This is not at this time terribly popular.  I think Google has pushed that out into open source land.  But you may see it in use.
* AngularJS: this is the way folks are really going nowadays.  This and Reactive, and probably other JavaScript toolkits.  JavaScript has grown a lot since its "I had to validate, and that's all I could get" days.  These frameworks are better thought out, some even have unit test capabilities ready to hand, and they can talk to RESTful very naturally.

On the backend, you'll want to go with RESTful instead of EJBs.  They work well for wider variety of non-Oracle technologies.  These can be implemented with Java, Ruby, Node.JS (backend JavaScript, which I have never tried) or a lot of other things.

One thing I will caution you about: I have tried annotating EJBs to make them spew SOAP output.  That works, but it is an imperfect solution because you design EJBs as middle ware, and you want them to share rich objects, etc.  If you try to use them as an endpoint, they become an API, and you will find that your design philosophy "leaks" out to the client or backward into the middle tier.  So I would not do that.  If you need EJBs for transactions, or all the other cool stuff they do, make another REST tier to talk to them.

Finally, I find that the backing on the server tends far more often to be Spring than EJBs.  Indeed, EJBs seem to be getting short shrift compared with Oracle's own CDI (Contexts and Dependency Injection).

If you want to do MVC / all server (not JavaScript), and you have full control, and you are not worried about transporting your skills, I would look into JSF, which is an Oracle / JEE offering, but has various 3rd party impls.  I do not know how performant that is, so you may wish to research.  otherwise, I would go for a framework like Angular (2 is starting to catch on), and I would implement RESTful backends in your favorite way.

I hope this helps.
 
Daniel Blanch Daniel
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, it helps a lot, thank you.
 
Sheriff
Posts: 67746
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

L Foster wrote:AngularJS: this is the way folks are really going nowadays.


Actually, AngularJS is deprecated by Angular. And if that's confusing, complain to Google, not me.

This and Reactive


React, not Reactive.
 
L Foster
Ranch Hand
Posts: 270
15
Android Angular Framework Spring AngularJS Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
@Bear,

Hello, and thanks for pointing these things out.

Yes, there is a React framework.  And, perhaps I have misspoken in claiming "Reactive" was the one gaining popularity.  Perhaps "React" is the one that is heating up at the moment.  However, there also exists a Reactive as these two links will attest.

http://blog.ractivejs.org/posts/whats-the-difference-between-angular-and-ractive/
http://blog.ractivejs.org/posts/whats-the-difference-between-react-and-ractive/

As for AngularJS being deprecated, I think perhaps it is deprecated in favor of Angular2.  Angular2 is different enough that you don't just learn one and know the other.  Some core concepts have been deprecated, and I have just been reading that it is better geared for Mobile.

http://www.angular2.com/

So, perhaps I have tried to be too specific in pointing out these frameworks, and maybe should have mentioned Angular2 as the one that immediately sparks employers' interests.  There is, however, a lot of code out there that has been produced in AngularJS.  You will find more people right now who know 'JS.  That distribution may change or it might not (sometimes people just take forever to move on to a new version, often for reasons having nothing to do with language efficiency).

The takeaway that I feel is relevant to Daniel's question, is that there is a general movement towards doing client based JavaScript frameworks, as the solution for getting a rich view.  Personally, if it were a choice between Angular2 and AngularJS, I would start with Angular2.  I only learned 'JS because I was able to get a course in it.  But, I've also read that 2 is easier to learn.
 
Bear Bibeault
Sheriff
Posts: 67746
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

L Foster wrote: However, there also exists a Reactive as these two links will attest.


No, that's "Ractive", not "Reactive".
 
Bear Bibeault
Sheriff
Posts: 67746
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

L Foster wrote:As for AngularJS being deprecated, I think perhaps it is deprecated in favor of Angular2.


Angular 2 and greater is just called Angular, not Angular followed by a number.

Again, complain to Google.
 
L Foster
Ranch Hand
Posts: 270
15
Android Angular Framework Spring AngularJS Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
"Ractive!"  I saw that several times and completely overlooked the missing e.  Good catch.
 
reply
    Bookmark Topic Watch Topic
  • New Topic