views:

24

answers:

2

Does it require development of two almost separate front-ends for the app, one using Ext JS and the other one with no JS at all?

+1  A: 

Well, pretty much. If you really want a NO-JS version of your site, you will need to stick to very basic HTML, and a trip back to the server and a full reload with any click. If you want your real site to be ajaxy, then this would require two different front ends to the site.

May I ask, why are you worried about people with no JavaScript? There are very few people out there with no JavaScript, even mobile phones have decent JavaScript performance.

bwawok
There are a lot of blind users you use text readers to access the internet and therefore they do not use javascript. There are also users with mobility issues who are unable to do actions such as drag and drop. You should design your application to enable as many people as possible to view it.
skyfoot
When you develop a site which only works with JS you're deliberately filtering potential customers on a silly criteria.
LeguRi
I would say, it always depends on what you are developing. If you do a closed application for some customers it makes no sense to also take care of non-js users, because there are non. On the other hand, if you create a public site for everyone it should also work without.
TheCandyMan666
Creating a javascript only web site is not progressive enhancement as it doesnt enhance a lower level server side website.
skyfoot
+1  A: 

Your application should be built to allow users without js to access the same content. All form posts and action on the app must have server side handling. This is to allow for non-js browsers as well for security reasons as the js can be edited on the fly by hackers.

Once you have this basic functionality you can start adding your css to make it look good and add the js to add additional functionality with postbacks done by ajax. You should use feature detection instead of browser detection with your css and javascript as browsers are updated with new support all the time.

Therefore you only need one frontend which includes both solutions.

skyfoot
I know what's progressive enhancement. The question is, what should I do to allow for users with non-modern browsers to be able to access my site, if I want to build its JS-enabled version using Ext JS? Ext JS is component oriented. It does beyond just adding fancy effects and ajax enabling your apps. So there seems to be no option but two build two (almost) separate front-ends for the Web site, one using Ext JS and one only with plain HTML/minimal CSS.
Bytecode Ninja
As far as I understand Ext JS is similar to jquery or any other javascript library and as they are all javascript underneath can be added on top of basic html with server side handling. The problem with creating two different frontends is that it creates a maintenace overhead where you need to updated both frontends when you want changes.
skyfoot
As I said in my answer, if you want Ext JS components, you will need to make an entire 2nd version of the site. Depends on your audience, but generally I wouldn't want to do that.
bwawok