How to decide what technologies to use writing a web app

I need to take a Windows application which is basically a front end to a database and turn it into a Web based application.

It will need to ....
   show tables in a grid
   show rows in a "dialog" for editing
   show query rows in a read only form with optional related photos
   show more than one of the above at the same time
   show Google Maps with surrounding UI to customize it
   have a UI to select what is shown (now menus and toolbars)
   select and send files to the web server for bulk import of data

It is currently an MFC/C++ MDI application.

I have some experience with HTML, fetching files from the web, etc but am otherwise a web dev virgin.

How do I select a server database (I know SQL Server Express but the 'real' versions are very expensive). MySQL is expensive too for commercial use. Are there good free databases?

I know some JavaScript, what other client side tools do I need.

On the server side, I know Perl pretty well and notice it wins most performance tests, but others (PHP, Ruby, Python) seem popular too. I have done a little work with C#/.NET.

Web sever performance is important, the more connections it can handle puts off adding more servers.

Are there tools, frameworks, etc that I need to get? Are there some great books to read?

Should I be thinking AJAX, HTML5, what is CSS?

There will be multiple customer sites using the app, each customer can have more than one user. Should there be one database with customer ID in each row and then use "WHERE" to keep them separate or should each customer get it's own database? Assume that each user will have 50 MB of data on average, maxing out at about 250 MB

I have the skills to learn the new technologies, but at this point I need to make the decisions that I can live with, but don't have the skill to do so at this time. This is a classic case of when I finish I will be qualified to start.

How does one get started in the right direction? Feel free to also answer those questions that I was not yet smart enough to ask.

Ready to jump off the cliff, need to know which cliff.

TomZ
Z-NerdAsked:
Who is Participating?
 
d4durveshCommented:
oh seems confused with all applications and language's complexity?
first of all i would like to tell you about what is css? CSS means cascading style sheets which helps to make your web page more attractive and pleasant. it is very helpful .you can get full introduction to css here,http://www.w3schools.com/css/css_intro.asp

So now about database, i think free database are their to use just take a look at following,
http://grubba.net/
http://download.cnet.com/windows/database-software/
http://www.zoho.com/creator/online-database-software.html
http://www.freebyte.com/programming/database/

Just take a look at article about USING FREE DATABASE,
http://it.toolbox.com/blogs/database-talk/choosing-a-free-database-15971

if you want to get books i.e., pdf of web server then download it from following links,
http://www.cs.gmu.edu/~menasce/papers/cmg98-inline-prefetching.pdf
http://my.safaribooksonline.com/book/databases/mysql/0672327651/operating-system-web-server-and-connectivity-tuning/ch14lev1sec2

according to me use JAVA technology for making web apps. it is very useful and convenient,
also check it out below links,
http://snook.ca/archives/building_a_web_application/building_a_web_6
http://java.sun.com/developer/technicalArticles/tools/webapps_1/
http://www.onextrapixel.com/2011/11/17/creating-web-apps-the-skills-technologies-and-trends-a-developer-must-know/

HOPE IT HAS HELPS YOU :-)
0
 
Z-NerdAuthor Commented:
Never considered Java, I have written an Android app so I have some background in Java. You thinking server or client side or both for Java?
0
 
d4durveshCommented:
Ya i am talking about client side, it is very much useful and have lot of features and interative technology. And many uses the same :-)
0
 
Z-NerdAuthor Commented:
This didn't answer alll of my questions, but was a good start, thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.