Coming from DOS terminal and Windows Client/Server applications, web is the third big technology shift, for us, in software development.These type of apps are currently our preferred implementation technology and we write them in Java or C#.Net and use modern but proven techniques and scripting frameworks on the front end.
When software needs to be real time or has tight interfaces with local specific hardware at the user location, we mostly write native Windows applications or services in Delphi and sometimes Microsoft .Net. We have experience to communicate with 3rd party hardware and PLCs using OPC. We have a large codebase of Delphi code and internal libraries and frameworks to make it easy for us to write good code.
We have written a number of mobile applications. This includes applications on tablets and phones but also mobile terminals on forklifts for label scanning and to operate the business processes. In most cases we deploy web technology, however when required we use native or hybrid solutions for the specific devices.
We have a simple methodology to select the database layer. We take the following parameters into account to select the best - good enough - solution:
- Are there specific requirements or features to select a certain technology or brand
- Is there a significant improvement in development time to base the selection on.
- Is there an impact in license cost.
- Is the customer familiar with a database.