RapidOS is a relatively new web technology based framework / platform for developing advanced desktop like web apps quickly.
We had quite a lot of requirements, but among the highest priority were:
1 – must be developed in a commonly used well established programming language.
2 – have maximum hosting options available including on mobile devices themselves.
3 – have few application architecture restrictions.
4 – have a low learning curve for current and future developers.
5 – must be relatively quick and easy to implement user requirements.
When we sat down to create RapidOS, we first looked at available programming languages as well as experimenting with many of their existing frameworks. We soon realised that although some of the frameworks were promising, they generally were not well suited to our requirements.
We had a good idea what the most commonly used technologies were, and a quick investigation of hundreds of popular websites / web apps proved what we already knew. w3techs.com is one of the leading web technology usage stats publishing websites – their stats also reflect somewhat our findings. Let’s look at the top 3 most popular techs in each of the categories below (stats taken from w3techs.com):
Server-side Languages: PHP 81.7%, ASP.NET 18%, Java 2.7%
Interesting these stats. Although we knew these were the top 3 platforms, we never reaslised how little used Java was as a server-side language. Java isn’t a bad choice, nor is ASP.NET, but of these only PHP satisfied our number 2 priority. In fact we have done POCs using ASP.NET and Java also should we require to develop a server in these techs one day, but at this time not a priority. We like the idea of JavaScript on the server but it isn’t even a blip in the stats nor does it satisfy our number 2 priority – over time this may change. We chose to code our current server in 100% PHP.
Client-side Languages: JavaScript 88.1%, Flash 15.3%, Silverlight 0.2%
We don’t mind what can be achieved with Flash, but it was never a consideration. Neither was Silverlight. In fact, we considered JavaScript, Java and PHP only for this – but if we chose PHP, our client wouldn’t be ‘as rich’.
A RapidOS App has a client component and a server component – both could be hosted in a browser but both could be hosted on a PC or Server. In the end we chose to use both JavaScript and PHP for the client (98% JavaScript, 1% PHP and 1% Java).
JavaScript Libraries: JQuery 57.5%, Mootools 4.9%, Modernizr 4.6%
As we had chosen JavaScript as our client-side language, we looked at whether we wanted to use any util libraries. We liked the way the JQuery selectors worked and the way it hid some of the browser idiosyncrasies and the fact that there is a vast array of plugins and 3rd party components that also use JQuery, so we chose to use JQuery. In fact we use a few other less common libraries too which are simple to redevelop should we ever need.
Markup Languages: XHTML 50.5%, HTML 50.2%
We use XHTML for most part, because the World is moving that way, but that doesn’t really matter so much for now. Our templates are 100% XHTML/HTML with zero logic or embedded funny extensions.
Site Elements: CSS 90%, Compression 54.2%, Cookies 46.5%
Cool, interesting to know that chances are, whatever we do in CSS (sans HTML5 extensions) are usable by most of the World.
Web Servers: Apache 62.7%, Nginx 18%, Microsoft IIS 14.4%
Related to our language choices, we mostly host on Apache, but our client and server also works on Microsoft IIS. That gives us at least 77.1% target hosting compatibility based on those stats.
Content Languages: English 55.5%, Russian 6.1%, German 6%
We only speak English, but our software is easy to cater for multiple languages. We have made specific effort to ensure that the core foundation of our software is Asian language capable due to one of our requirements.
JC
Sorry, the comment form is closed at this time.