I just came across following demo application: http://mochaui.com/demo/
I have a few questions about this:
- What is the right approach to start a project, which have heavy use of JS?
- how to choose which library is best, or one should develop his own library specific to requirements to keep the file size smaller?
- Can you suggest any study material (tutorials or books etc.) to learn building this type of interfaces.
If you choose this route, you won't have to worry about cross-browser scripting because HTA uses a special mode of Internet Explorer.
In any case, the size of the scripting library or framework wouldn't be a major issue in a continuously-running application because it would only be evaluated once when the page loads.
Another option is to use Adobe AIR to build the application. JavaSscript is one of the several options available there for writing applications.
Thanks for your comments.
Do you mean it only works for IE? I think a web application should support all browsers.
That's a nice option, but i don't want to force my users to install Adobe AIR to use my application.
I appreciate this thought, but what if application relies heavily on it's interface. I think i will need to create 2 versions: one JS based and another one without JS. What do you suggest?
I understand the rationale behind this, but honestly, I don't agree.
There are certain (and in my business, often) instances where JS is not only required for usability, but because it simply can't be done without it. Certain tools and features, made to accomplish a specific task, require a certain level of technology before they can be used.
An example of this is gaming. Every new game seems to require an even higher level of hardware. Without this hardware, the graphics and frame rates we expect are not possible - and honestly, I wouldn't play the game on old hardware anyway, because the experience wouldn't be a positive one.
The same goes for the UI. The level of interactivity and ease-of-use that users have come to expect require certain technologies. Without them, you just can't produce that level of quality.
Obviously, there are cases when this is not true. Audience is important. If you're site is geared toward third-world countries, you need to build for that. Same with disabilities.
Why would I do that?
Simple cost/profit analysis. It doesn't make sense to spend 1/3 (at least) more of the time making it work for 1/10,000 of potential customers. It just doesn't make sense.
If you want to go 4-wheeling the Utah desert, you have to have a 4 wheel drive vehicle - not to mention bigger tires, good suspension, a roll cage - the list goes on.
I believe your statement holds true, felgall, for a public sites aimed at the general population. Or perhaps a contact form for lead generation where you don't want any chance that someone can't submit. But when you're talking about an advanced UI with enhanced functionality aimed at a specific end result - it just doesn't make sense.
(Obviously, if someone does log in and turns JS off, you need to make sure they can't do things (like submit a form) that would cause undesired or dangerous outcomes.)
PS. By the way, felgall, you're awesome. Thank you for all you contribute to this community! I just disagree with you on this point
The Ajax engine allows the user's interaction with the application to .... you couldn't accomplish the same effects using a technology
Yes. It behaves like a Windows application that you download and execute, rather than a website.
I think if you're bent on having a desktop-like interface, you should write two versions. Bolting a modern interactive UI onto an old-fashioned CGI-style website isn't very elegant.
What about using silverlight, then you can run multithreaded application on browser and able interact more dynamically with local files.
Definitely MooTools or ExtJS. Ext is designed for building complicated RIAs (rich internet applications) and handles all of the layout for you. If you need something very custom go with MooTools. People are only voting for JQuery because they know it. MooTools is better for RIA development because of its class like inheritance. JQuery is mainly a powerful DOM manipulation library.
YUI is probably also a good choice but I haven't worked with it before.
Edit: Of course if you plan to sell anything you build with Ext you need to pay for some steep developer licenses.
Such an application should either be on an extranet (where only selected people have access at all) or should be written to run outside the web browser using a platform such as Adobe AIR.
I'm glad someone else recognizes that jQuery is primarily a GUI framework and not a full client application platform. That said, I use it extensively with my own client platform, although any other UI library should presumably work with it as well.
I completely disagree.
That's the point of the Internet. To be able to reach the masses easily with you're unique product or information. The point of a profit-oriented site is to make money. If you put too many obstacles and regulations and technical "musts" in the way, it's not worth doing in the first place.
Why does putting it in AIR fix the problem? Just to say it's not public? If we want to get technical, visiting my site on my server isn't public, either.
Also see cappuccino that's look good too, but I think is Sproutcore better.
Hey sweet their demos don't load in Opera. I will never touch whatever the hell this library is.
I don't get it. Why not?
How's that any different than "requiring" them to download software?
Is it okay to provide toll free operator assistance for users who experience trouble using a site, or is the developer legally obligated to anticipate every possible difficulty the user may have?
next page →