Re: [ljc] Please help with [Java] MVC framework adoption

From: Gemma S.
Sent on: Tuesday, July 31, 2012 5:58 PM
>> As you say, we should use the technology that is best suited to the client but I'd like to avoid having to write a totally different client for each device. Ideally it should be written in something device independent and complied to whatever is suitable.

I think this depends on the quality of experience you're aiming for in the client.  Transferring this problem domain to mobile, having a single source compiled towards a particular device can cut down development times, and ensure a wide coverage of device platforms, but can lead to a sub-optimal (yet consistent) experience across all devices.  John Fowler's discussion on mobile strategy is an interesting read in this area:


Key quote:

"Cross-platform frameworks and the like work by offering a lowest-common denominator approach."

On Tue, Jul 31, 2012 at 5:47 PM, robert annett <[address removed]> wrote:
I think you are completely correct about a return to rich clients. I believe there was a Steve Jobs quote (although I can't find it so maybe someone will correct me) along the lines of the Web returning us to the GUIs of the 1970s! The iPad, in particular, has demonstrated just how good fully interactive and usable client GUIs are. 

We should remember that HTML (hypertext) was intended as a document format (with references) and NOT a client platform. I've never liked the model where the server constructs HTML pages for a browser - the server should know nothing about the visual display. So I suppose I disagree slightly with your requirement for a template engine - why can't the server send the required data and let the client perform all formatting? The product which I've used that comes closest to this is Sencha's ExtJS. Communication between client and server is xml with the server knowing nothing about how the web client will display. 

I just hope that we avoid the situation where primary business logic is moved back into the client as per the late 1980s client/server model...

As you say, we should use the technology that is best suited to the client but I'd like to avoid having to write a totally different client for each device. Ideally it should be written in something device independent and complied to whatever is suitable. Sencha claim to do this with their Touch product but I haven't used this so can't personally vouch for it. Does anyone have any experience with it?

- Robert.



On Mon, Jul 30, 2012 at 6:08 PM, Steffen <[address removed]> wrote:
Hi there,
this might be a bit out of the box thinking, maybe controversial.

One point of view may be that:
- we are getting back to a rich client / server architecture with main logic in the client, implemented in javascript
- we are seeing the advent of javascript based component based libraries, starting to follow MVC and cleaner patterns (less of a jquery mess)

So I am asking myself whether one should account for that shift in the choice of "Java" MVC frameworks.
- the client will embrace the technology is best suited (e.g. HTML5 stuff)
- the Server part may more strongly focus on persistence, non ui-logic, integration, messaging, workflow, caching, security, scaling, etc.
- We certainly still need some template engine, and validation logic that resides (duplicate) on the server side, Taglibs would probably resemble javascript UI-components

My suspicion is, that we are caught in the school of thinking that emerged from JSF/JSP. Maybe this is constraining and complicating the clear view on the application architecture and the chance of reducing some coupling.

Thoughts?
Steffen

On 19 July[masked]:42, robert annett <[address removed]> wrote:
>And no, Scala isn't "as powerful" as Java, the language didn't wish to stoop that low.
>It's a great deal more powerful.

Scala, Java, C++, C#, Ada etc are all Turing Complete (http://en.wikipedia.org/wiki/Turing_completeness) languages so from a computer science point-of-view they can all achieve the same results. I can write an assembler equivalent of anything you write in Scala. To quote the above linked wikipedia however; "Obviously, this says nothing about the effort needed to write the program"  ;-)  For the ultimate example see: http://en.wikipedia.org/wiki/Whitespace_(programming_language)

You might want to take a step back and think about *why* you wish to learn a new system, language, framework. 

If you're doing this as a hobby then you can go crazy and pick the most interesting thing you can find. If you're doing this to improve your job prospects then the best thing to learn will be whatever potential employers are looking for. If you're starting you own company then you might worry about productivity or your ability to recruit other developers (unlikely if you choose whitespace). You might be worried about speed of execution, integration with other systems or even whether you can formally prove your code is correct.

If you ask questions as open as the one you have asked then you'll always get suggestions for things that are very cool but new or obscure. Is this what you're after?

 - Robert


On Thu, Jul 19, 2012 at 9:21 AM, Kevin Wright <[address removed]> wrote:
Play is a framework for developing websites, so it's no more a language than struts is.
As for scala, your colleague is mis-informed, it makes *java* look like a scripting language.  Just consider:

Scala: fully object oriented vs Java: object-oriented except for primitives and static methods
Scala: first class functions vs Java: promised lambdas since before Duke Nukem Forever was released
Scala: type inference vs Java: Endless repetition of type names
Scala: uniform access principle vs Java: IDE-generated getters/setters that are a pain to later maintain
Scala: Definition-site variance vs Java: Wildcards on generics
Scala: mix-ins and implicits vs Java: Write half your program in untyped XML, using Spring

etc, etc.

And no, Scala isn't "as powerful" as Java, the language didn't wish to stoop that low.
It's a great deal more powerful.




--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by robert annett ([address removed]) from LJC - London Java Community.
To learn more about robert annett, visit his/her member profile



--
-------------------- 
Steffen Glomb
- London
Master of Business Administration
Master of Computer Science






--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Steffen ([address removed]) from LJC - London Java Community.
To learn more about Steffen, visit his/her member profile
Set my mailing list to email me As they are sent | In one daily email | Don't send me mailing list messages

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]





--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by robert annett ([address removed]) from LJC - London Java Community.
To learn more about robert annett, visit his/her member profile
Set my mailing list to email me As they are sent | In one daily email | Don't send me mailing list messages

Meetup, PO Box 4668 #37895 New York, New York[masked] | [address removed]

Our Sponsors

  • Our Blog

    Read the latest news from the LJC

  • RecWorks Ltd

    Fixing Tech Recruitment using the Power of Community

  • jClarity

    Java/JVM Performance Analysis Tools & mentoring for Java related matters

  • LJC Aggrity

    Our LJC Aggrity site contains blog posts from our members

  • LJC Book Club

    Our Book club with book reviews from our members

  • Devoxx UK

    Java Community Conference, in collaboration with the LJC 12/13 Jun 14

  • SkillsMatter

    "Host, help organise, promote, film many of our meetings."

  • Packt Publishing

    A publishing company specializing on specific technologies and solutions

  • Java.Net

    We are an official Java User Group recognised by Oracle's JUG program

  • JRebel

    Free 3 month J-Rebel license.

  • O'Reilly

    40% discount on printed books and 50% on e-books.

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy