Web App Development Advice Request
Jun 04, 2008
5:24 AM EDT
|Web app developers, I humbly request your advice.
My employer has need of a handful of simple Intranet apps; a time sheet, expense form, etc.
The options available are Windows 2003 Server or Linux in a VM; PostgreSQL, Firebird, or MySQL; Apache or IIS.
I've heard that there is a way to retrieve the existing Windows login without requiring an additional username/password. I don't know much about it, but would like to use something like this if possible.
Workflow routing will be handled through Exchange 2003. Chain of command must be retrieved from Active Directory (although, technically, this all happens post web interface.)
For starters, these apps will be available only to computers logged onto the local network. However, in the future they _may_ be made available to field personnel with handhelds (VPN'd in.)
So, there it is. I've done plenty of programming over the years, but never web app development. What is this idiot's best guide to web app development?
Jun 04, 2008
1:08 PM EDT
|Make sure you pages work properly in Firefox, then do any tweaks that are necessary to work properly in IE.
I'm assuming that since you appear to have a Windows environment that the predominant browser will be IE.
CSS with Divs for layout is recommended, but if you are new to Web page layout stick to the simple tried and true HTML table layouts, it won't be high tech, but it will work.
If they are on an local intranet, that never sees the light of the internet, they will be secure enough without having to worry about secure SSL certificates, but when you do go full internet I'd make sure they run over SSL. If it's only the company employees using it a self signed certificate will be fine (save on the cost of one from a certificate issuer).
I'm assuming you already know php or something like c#.
The backend (Business layer) will be just like any other application's backend, do your objects correctly, and it will work and scale.
The Presentation enabling layer, the code that makes the HTML display all the infomation, and which parses the data sent back from the browser, should be fairly simply, only what's needed to move the data between the business layer and the Client web browser.
I develop for IIS and Windows Server, for historical reasons, but in general, I'd probably recommend Linux and Apache.
Jun 05, 2008
4:31 AM EDT
|Tracy, I knew you had done quite a bit of webdev and was looking forward to your input.
>> I'm assuming that since you appear to have a Windows environment that the predominant browser will be IE.
>> CSS with Divs for layout is recommended,...
What's the advantage of Divs over tables?
>> I'm assuming you already know php or something like c#.
Well, "know" may be stretching it a bit. I've doddled in PERL, PHP, and a couple others. Programmed in Assembler, several flavors of BASIC, PASCAL, Delphi, C, C++, and a few database languages. Never done C#. Then, of course, there's the old standby; shell scripts. :)
>> ...I'd probably recommend Linux and Apache.
Definitely my preference as well.
My database preference is PostgreSQL. Knowing this and that I have no webapp experience, which server side scripting would you recommend? Perl, PHP, Python, other?
Thanks for your input.
Jun 05, 2008
4:05 AM EDT
|Divs with CSS Cascading Style Sheets is the recommended (W3C) methods for laying out pages, which means learning how to use CSS effectively. Tables are supposed to be used only for tabular data. The thing is if you've never worked with HTML and CSS, then using tables to create a basic, but functional layout is going to be way simpler. CSS and divs is much more powerful, as it provides you with an Object oriented means of doing layout, that scales better.
I guess php or python, I've tried writing a small website, several basic pages with post back, in perl, my eyes still water at the thought of it. There are a lot of books around for developing database driven web apps with php, and I think python also. I tend to favour php, because it's fairly close to Microsoft's asp/vbscript which I started web development with, in how you put it all together.
Quanta and Bluefish seem to provide some fairly reasonable tools for php scripting, but perhaps someone else could comment on those, as I've never really done anything much with them.
The most important thing is to design a good class structure for your business rules, even if the databse only calls for a fairly simple class structure, and doesn't really require any or much inheritance. Get that bit right and you can get away with a fairly ordinary front end, because if the backend doesn't do it's job properly it won't matter how fancy the UI is.
Jun 05, 2008
5:23 AM EDT
|I would suggest PHP also. But please read through some articles on how to make it secure. It's not a "do it all for you" language with regards to security, so you will have to be sure to code in a security conscious way. PHP is very easy to learn and code, but it's also very easy to write bad code. :)
Also, before you go all out and hammering away at writing your apps, do have a look around to see if there aren't already some suitable ones out there you can use/tweak.
Of course, building from the ground up is generally more flexible and fun.
Jun 05, 2008
6:40 AM EDT
I think I'll invest the time to learn CSS, as that seems to be the path of the future.
PHP is where most of my playing took place anyway. So that's a logical choice for me.
Quata Plus seems to have some really good PHP plugins. I'll experiment with both, but Quanta looks good on the cover.
Of course, designing the class structure is easy. Knowing how that structure is implemented in the tools... well, I'm sure you get it. :)
Yes, I plan to invest time in study before implementing.
I've already looked around for existing products that do what I want. There's a lot out there, but nothing really "fits". So, here I am.
You cannot post until you login.