I'm in a process of developing a database application that would serve several (> 20) clients though a local area network. Basically, they should be able to access a client application with a certain UI, fill some text fields and post the data to the database. Certain users, (lets call them power users) should be able to access the data posted to the database, perform some tasks on it and store it. I'm thinking of several approaches to this : Put a computer on that network, to play a role of a server. It should run 24/7
1.Install a web server on that computer ( maybe a simple WAMP, XAMP server) and make the whole system web-based. Clients would fire their web browsers, connect to that server and access a web page, where they could fill in their data and post to the database. Same thing with the "power users". It's all good, but I'm not really sure how rich the UI should be, maybe at some point they would need powerful UI controls (datagrids, listviews, treeviews with icons) and all the nice UI controls a desktop apllication can offer. Also nice reporting systems, like generating reports from database queries that look like Crystal Reports, Quick Reposrt etc.
2.Make a desktop application that is accessed trough the network. I will most probably loose the handheld devices, like phones, tablets, and probably loose other OS like Linux for the users, if I require them to run a Windows application, but.. That would solve most of the problems with rich, responsive UI and reports, but what development environment and database server should I use ? I'm thinking of Borland Delphi 7, Borland C++ Builder 6.0, Qt Creator, Microsoft C# or something else. What database - MS SQL Server, SQL Express, MySQL, MS Access, Oracle or else. Basically, what language(IDE) + what database server should I use for such a task, if I go with the desktop-application solution ?
More generally, Web-based (that would support everything that has a browser) or desktop application that would have nice UI and reports, or what about both ? What would you suggest?
I try to answer based on my experience. Is not necessarily the best approach but is what I already tried (with all the inherent successes and fails).
Lets say
Lets say
Lets say