I've been developing my first web based app for about two months now (I'm an undergrad student who is mostly experienced with C and Python with some Java thrown in to boot). So far my page works as a thin HTML layout (thin meaning a very simple layout, aka less than 50 lines of HTML) which is manipulated heavily by AJAX, primarily using jQuery. The AJAX is generated via. PHP in combination with SQL manipulation. This webapp will be used by a maximum of 6-10 clients (EDIT: users), and cross-browser compatibility is just a bonus; it seems IE7 is the weakest link.
I would like to know:
- What are the disadvantages of using such a client heavy approach vs. more browser 'loads' (note that I'm using bbq to deal with AJAX's breaking of back/forward/reload/bookmark/history). In my good conciseness as a new programmer trying to develop good practices should I focus my strengths on the principles of AJAX?
- Is the future of web development really moving as heavily towards the browser as a platform as I seem to perceive it? From my experience, it seem that scripting client side in JS makes for a half decent GUI toolkit, with AJAX backing it up as an easy to use data access layer.
- Obviously server side scripting will always have it's place. Where does server-side truly shine? eg: a) generating XML that will be injected via. JS and the DOM b) generating HTML that will be injected directly (no DOM manipulation) c) creating full pages that can be used within an iframe.
I'm trying to strike a balance, and it seems that everything I've read so far lacks a balanced perspective and just pushes AJAX as the end all and be all.