The Java language and Java EE technology have been used by the leading web-development companies for a long time. Enterprise Edition standards allow portable and flexible web-applications to be developed. These standards means that complete Java applications can be deployed to any Java Application server, including JBoss or GlassFish, without any changes to the functionality. Many web Java-based applications have already been developed but a lot of new projects are still appearing every day and are demonstrating the popularity and the reliability of this language.
Java is based on the Object-Oriented Programming paradigm. All the resources for the client or server side development are available in this language. The large number of external libraries helps to solve various professional tasks. Native Java libraries provide an asset for automated web-application testing that can be implemented during the development stage and then when the application is working.
We use Java for several large projects. We put out trust in the long-term experience of other companies and the language itself and we always get the expected payoff. We use the Spring framework that gives us additional resources (like the MVC concept, ORM, RPC-services and authentication/authorization services) that in turn let us and our clients achieve our goals easier, faster and in the right way.
This language is younger than Java but because of this may be fresher and closer to the spirit of programming. Currently Python is sufficiently advanced to become one of the best choices in web-development. It is free from static typing and allows code to be written quickly. The libraries included in the language package mean that time does not need to be spent searching for them on the web. A lot of modern Python-oriented web-servers (each of which can be easily installed) support the newest standards, for instance, Web Sockets/Long Polling. Our company chooses Python because of the benefits it provides such as the speed and simplicity of the development process of client web-applications.
Google App Engine is a cloud service for hosting Python- and Java-based web-applications. It includes the native key-value based database support (DataStore) and gives direct access to different Google APIs. Google App Engine means that the owner does not need to buy a host computer but simply immerse oneself in web-development, having several domains for testing purposes and storing static files separately from the main application.
We use GAE to communicate from the Java or JavaScript client-side with the Python server-side API which is used for most of our projects. Experika is a good example of such communication.
Google App Engine enables you to observe the progress of the project development status independently from any technical problems that often happen with a host server owner. It means that you can work with some Google services (like Prediction API) natively and gives access to different services that help you to organize the operation of your application (like Memcache API to store sessions, OpenID to authorize users or LDAP to store user data). The key-value database architecturally differs from other well-known databases but it gives many benefits that cannot be provided by different databases.
Google Web Toolkit is a framework that allows Java Client Side programmers to write code in Java and then translate it into fast, obfuscated JavaScript code. GWT also provides a range of different UI-components (and allows them to write their own) and the ability to build the web-interface in a declarative way with their help, which is much easier than a lot of other UI technologies that in this case use only the programming code. Google Web Toolkit also deals with all the cross-browser issues, in particular, it helps the programmer to focus on tasks instead of resolving unpredictable problems.
JavaScript allows web-applications with animation, smooth content changes and background calls to the server, which are invisible to client. Modern JavaScript is a very powerful technology that allows programmers to write a complete client-side application using only this language. We write in native JavaScript with the possible usage of JQuery or Closure libraries if the project requires it.
We can build completely dynamic web-applications with the help of just the JavaScript + server side. One of our internal projects was written using this technology.
CSS is a special language that allows programmers to transform simple web pages into complex and attractive projects. Compared to the second version, the third version of CSS has small extra features and complex visual effects. HTML5 is a newly opened platform meant for creating web applications with audio, videos, graphics and animation.
CSS3 and HTML5 are the technologies of the future, and for that reason it would not be good for business to reject their use in projects. We know how important they are and we try to use these technologies in every project we develop (with the ability to replace them with old technologies for old but frequently used browsers). These modern technologies for building web applications let us quickly create quality interactive web sites for your business, because only up-to-date solutions can guarantee success.
You and your clients use mobile phones in everyday life. These are not just simple phones but smart iPhones and Android-gadgets that help you to organize your business. Users of these platforms like to install new applications because they want to have quick access to your site on hand.
We understand the importance of mobile development in the modern programming business, and we can write mobile applications for Android, iOS or both. If you want to attract clients, you must have a mobile version of your site that works on mobile phones no matter how huge the site is.
It is impossible to imagine modern business without information being stored in electronic form. A great variety of information is stored in databases. The main criteria in the selection of databases is reliability, security and speed. We use only time-proved technologies, which meet all our requirements.
Using the transparent drivers for ORM in development, we can work with almost any databases (except GAE), but PostrgreSQL, MySQL and MSSQL are preferred. With the help of highly qualified programmers and secure databases, we can create high-load projects which operate without interruption. We know all the databases bottlenecks and how to make use of their features to make them work for your business.