views:

239

answers:

4

Hello,

I'm creating my first web application and I'm really confused as to what technology to go for.

My application needs to look serious (like an application), it doesn't need many colorful graphical interfaces. It only needs a toolbar, a tab bar, a split panel (preferably 3 columns), an easily-formatable text field, and a status bar. It will connect to a MySQL database through PHP (unless I go for GWT). Users will upload files.

My evaluation of the options:

Flex: Probably the easiest to develop but I'm pretty sure my application is something one would use on an iPad and with Flash's future on the iPad still unsure, I don't want to take the risk, otherwise Flex would've been my choice.

jQuery: I've heard a lot about it and a lot of people recommend but I don't know how easy it is to use and how customizable the look of my app is.

GWT: The problem with GWT is that it doesn't have many widgets. Another problem is that I'm gonna have to host the files in AppEngine's datastore and transfer them back and forth to a web server that will do operations on them (I need to process them) which adds more traffic and slows the process which worsens the user experience.

Closure: It has a nice toolbar and a nice text field. I'm not sure how easy it is to use. Plus, I read an article that makes it sound really bad.

Cappuccino: It has a very nice UI and it has a mac feel. I'm planning to give my application a mac feel anyway so this will save me a lot of theming. But if I go for this option I won't be able to make use of HTML5's new features (especially working offline).

Plain JS and HTML5: This gives me the most flexibility but it is the hardest to work for.

I'm sorry if this is subjective but I really need help with this.

A: 

I am not sure if I about iPad but... here are some things you might need to consider and hopefully make up your mind.

JQuery - is a javascript library and you can do alot with it, the downside is that some browsers, users may not have javascript enabled on it. Go for it if they choice of browser allows javascript. Jquery has already some built in themes

Flex - If the iPad supports flash and it's the only browser. then go for this one. as flash is slow to load, and also not very reliable to work on every browser aswell.

as for the rest i do not know much about them so would be wrong to advise any more :)

take care

Val
iPad does not, and probably never will, support the Flash player.
adamcodes
Thanks for the recommendation. I think more people don't have Flash installed than people that have JS disabled.
Leo Jweda
+1  A: 

Have you checked Ext JS?

Or Dojo?

I would do your task with one of these.

EDIT

Ext JS toolbar demo

Ext JS tab panel demo

Ext JS layouts - for split panel check Border layout

Ext JS text field demo

Ext JS statusbar demo

Ext JS API

Ext JS and HTML5 blog entry

Ext has everything you need OOB. It is pure javascript (+css and images), nothing else required. (For graphs they use flash, though.)

Vili
You just added 2 more options, increased my confusion, without really mentioning why I should consider these.
Leo Jweda
I don't really know Dojo, but it is similar to Ext JS.
Vili
Humm... ExtJS sure has improved a lot since I last saw it, it's actually good enough to be an option now.
Leo Jweda
+1  A: 

To be honest, any questions like these end up being lightning rods for fans of each technology to espouse the advantages of their favorites without much mention for the disadvantages. And since there's a lot of JQuery-ites in here, they usually out-upvote everyone else. C'est la vie.

Try each one out for a few days, write up a simple guestbook or something simple but similar to your real project, and see which one feels easiest.

Jason Hall
Doesn't the number of users indicate quality? If more people are satisfied with a certain product more people will recommend it, right?However, thank you for your advice, I have messed around with Flex, GWT, and plain JS (not for an app), I guess it's time to give the rest a shot.
Leo Jweda
Numbers *can* indicate quality, but numbers tend to mean that the project is *older* and *more popular*, not necessarily *better*. But, more other people using a technology can mean more people to help you when something breaks. It's just not the only thing to consider.
Jason Hall
+1  A: 

In your case, you should go for jQuery. It's simple and customizable (both technically and artistically). It's also close to the basic "dom/js" way of doing thing, which is the "base" of web interactivity. Learning the basic is always beneficial, but it is usually slow to get result. In jQuery, it's not. Ok, it would be faster in Ext-JS but you'll gain more out of doing it in jQuery. It's going to give you a better look at how web developing work.

GWT is simply awesome, but it requires you to know how web dev work, which is probably not your case considering this is your first web apps. Google is actually putting a lot of effort in it and it's getting better every release (it is already pretty powerful).

Forget Flex for your first web apps. Flex is pretty neat, but it's a whole other story. Learning how the web work first is important here too.

Ext-JS or Dojo are way too abstractive in my opinion. If you use any of them, you'll end up being good at using them, and that's it. If you wanna go to the realm of high-level framework, I'd suggest to go for GWT instead.

Don't go for HTML5 for now. When all browser are going to interpret it perfectly at 85%+ it's gonna be worth it. For now you'll limit yourself to Safari-Chrome-Firefox. Even though all web developer hate IE, it still have (unfortunately) 60% of the market-share... so you'd lose a lot of potential customer.

Zwik
I think your reasons for jQuery make perfect sense, however, I don't quite agree with what you said about HTML5, I mean even Google is using it (adding attachments to GMail with drag and drop, ditching Gears, etc).
Leo Jweda
The adding to attachment feature of GMail is currently only available on Chrome (it's what I heard, correct me if I'm wrong), so it proves my point. Though it would be beneficial for you to learn html5 now, so you'd be already good at it when the actual release of the standard is made (considering it's still a draft), but for now you'd loose all IE users.
Zwik