Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming

Ask Slashdot: Tips For Designing a Modern Web Application? 409

New submitter sdoca writes "I am a Java developer and for the past number of years I have mainly been working on server side code. I have an idea for a webpage/application that I would like to develop. For the general public, it will be a site where they can view upcoming events, filter them by type, date etc. and view details of events they're interested in. There will also be an admin section to the app where organizations who want to post their events can log in and set them up. In the long term, writing a view-only version as an Apple and/or Android app is on the radar, but I want to focus on the generic web app for now. I'm not sure what languages/frameworks to look at using for the webpage portion of my project. Many (many!) years ago, I wrote some applets. After that I did some work in WebObjects and after that I tinkered with Wicket. I have no experience with PHP and would like to stay in my Java comfort zone as much as possible, but want to use the right tool. I'm concerned about browser compatibility issues. Chrome didn't exist when I last did web page development. I'm looking for good resources (books, internet) that will guide me through the potential issues and your recommendations for a web development framework."
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Tips For Designing a Modern Web Application?

Comments Filter:
  • by WilliamBaughman ( 1312511 ) on Saturday June 02, 2012 @07:49PM (#40197183)
    It's been a long time since I've used the Google Widget Toolkit [google.com], but it was an interesting shim between Java and WebApps. Would someone with more recent experience than mine please chime in and say whether it would be useful to the original poster?
  • CherryPy (Score:2, Interesting)

    by elamdaly ( 590256 ) on Saturday June 02, 2012 @08:00PM (#40197259)
    I'm long time Java developer myself and I find Python to be a natural transition. We've been using CherryPy [cherrypy.org] at work and it's a pleasure to use. Clean, concise and simple. And it has a number of templating [cherrypy.org] languages to use as well.

    @WilliamBaughman GWT is nice, but it's different than most web frameworks. It's Java code compiled into Javascript. The times I've used it I've come away thinking it has some great features, but it's a little heavy for my taste. Haven't used it in about 3 years though.
  • by MattW ( 97290 ) <matt@ender.com> on Saturday June 02, 2012 @08:11PM (#40197317) Homepage

    I have two suggestions that are close to staying with Java:

    (1) Check out Spring (http://www.springsource.org/); Spring has a bunch of goodies that make developing web apps easier, and the guys from spring (Adrian Colyer, Richard MacDougall) are thinking really hard about scalable web services. This is a foundation that will let you write in Java but still be prepared for the future.

    (2) Even better, don't go with Java, but leverage some of what you learned and pick up Scala. See http://www.scala-lang.org/ [scala-lang.org], or pick up Martin Odersky's book. Think of Scala as what Java would be if someone who appreciated terse, expressive syntax and great convention redesigned Java. Odersky wrote a reference JVM implementation while at Sun, and Scala compiles into Java bytecode and can directly use Scala libraries. (My first Scala project, for example, I used unboundid's LDAP libs directly in my Scala code.) Odersky along with some other luminaries (Viktor Klang, Paul Phillips, etc) have formed Typesafe, and are producing Scala the language + Akka (an actor framework) + Play (a web framework). Outside of play, many people are huge fans of Lift, and it does have some magic that no other framework has.

    Remember how you said "modern" web application? Well, Scala supports functional programming, and you can fix functional and imperative code in the same application, which means you can support massively scalable sites by writing clean, idempotent code where needed.

    If all this sounds bad, then I'd recommend Django+Python, as it is, imo, the best way for a relative web novice to produce decent code, and the amount you can do with a few hours reading docs and then digging in is shocking.

  • by Post-O-Matron ( 1273882 ) on Saturday June 02, 2012 @08:13PM (#40197331)

    GWT is good if you want to create a RIA [wikipedia.org], when the presentation logic is so complex developing it in javascript is a nightmare, but without having to use Flash or silverlight. If the presentation is simple enough however, I would stick to HTML5 + jQuery. In fact the "simple enough" bar in that last statement is gradually pushed forward.

    As a rule of thumb I'd say if you have a lot of moving parts on the page and you are basically creating a desktop application inside the browser ala Google docs, then consider GWT. Otherwise it will do more harm than good.

  • Re:Most important (Score:5, Interesting)

    by Anonymous Coward on Saturday June 02, 2012 @09:22PM (#40197693)

    Google is not a PHP/Python shop. The four development languages are C++, Java, Python, and Go.

    Gmail is indeed written in Java.

  • by hawguy ( 1600213 ) on Saturday June 02, 2012 @10:13PM (#40198003)

    There's nothing I hate more than going to a mobile web site, getting a nagging popup telling me to download their app, and then finding out that the app gives me less functionality than the web site.

    Just build a good mobile website. Modern mobile web browsers have become quite capable and there are fewer and fewer advantages to an app. And I really don't want to download an app for every webpage I frequent, that's what bookmarks are for.

  • by shutdown -p now ( 807394 ) on Sunday June 03, 2012 @12:37AM (#40198809) Journal

    If you didn't get so carried away by a rant of your own, you might have noticed that the linked article is not written by me. I do happen to agree with most of its points, however, and certainly with the overall conclusion.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...