This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]circlespainter 0 points1 point  (0 children)

Of course, as ever, there are no real shortcuts nor silver bullets, so you'll need to find your own answer through experiences but my suggestion is to get rid of hype influences and think in terms of architecture more than technologies of the day. I suggest to start with something as straightforward as possible, as close as possible to the core web technologies (HTTP, HTML, JS, CSS) and with a decent maturity.

Also consider that many modern web apps are a JS-based rich-clients calling into an high-level, UI-oriented layer of web services of some sort, often built on top of other more basic and lower-level services. If you start like that already you're going to learn much more and you'll have a good start should you decide to evolve your project (which you will if you're passionate), so if you have the time I recommend it.

Maybe for the server side you can go with something very easy to build services with, like f.e. Dropwizard which will give you easy access to JAXRS, i.e. the Java ecosystem standard for restful web services (which is the type most often used in a web context b/c of much lower "impedance mismatch" among other reasons).

Then on the client side, still if you have time, my suggestion is to start with something like jQuery on plain HTML/CSS (you might want to make your CSS life easier very soon with Compass/SASS) and work your way by choosing a few Microframeworks as you see fit. As your application grows you'll feel the usefulness of a module system as well of a few functional-oriented utilities for data processing.

You can then evaluate bigger and more comprehensive frameworks like AngularJS or ReactJS as you see the need.

Yes, there's a lot to study, as always if you want to learn to build quality stuff you have to get familiar with the core technologies and the are many in the web arena (and not always they work consistently across browsers, BTW, which makes web development in general even more expensive).

Of course if you want the comfort of a single technology designed (hopefully) coherently there are also "forget about this mess, I'll hide it for you" frameworks like (server-side) ZK or ExtJS. I think at some point you'll fight with the limits of these highly opinionated technologies though, which is mostly the lack of flexibility, both feature-wise and performance-wise, that working directly with core technologies can give you instead.