Our competences at your disposal on our blog
We love our job and we are glad to share it with you! Keep yourself fully informed about news and technologies we use to develop and which you may need! Follow our blog.
×

Error message

The spam filter installed on this site is currently unavailable. Per site policy, we are unable to accept new submissions until that problem is resolved. Please try resubmitting the form in a couple of minutes.
enrico.gramellini's picture

The new features of the technological development occurred in recent years have enabled web technologies to make a significant step forward in terms of evolution.
This development has also contributed, more generally, to changes in software systems, as they can potentially be distributed over a wide panorama of devices, often very different from each other.
The evolution of web technologies therefore doesn’t concern only the programming languages​​, but they are also extended between platforms and software architectures and reference models used in the creation of modern software systems.


EVOLUTION OF REFERENCE MODELS AND ARCHITECTURES

Every software system presents features that orient the developer towards a particular architecture rather than an other.
Nowadays most of the modern software systems present an architecture oriented to SOA service and are based on an advanced client/server template (with the distribution of resources and computation on both layers) establishing REST architecture as its more widespread implementation, thanks to effective design principles that allow you to achieve excellent results.


EVOLUTION OF TECHNOLOGIES

The process of languages and platforms is continuously evolving and if a few years ago there was a clear distinction between client side and server side technologies, now it is possible to develop software systems by using homogeneous technologies for both layers.
Thanks to the platform Node.js, for example, you can create a software system that presents application servers and client applications made ​​entirely with the JavaScript language: the advantages are significant and can be identified in terms of reusability and maintenance of the code, improving performance on the server side (using the asynchronous programming), less technical knowledge required, etc. ...
As a famous proverb says “all that glitters ain’t gold”, because the javascript language is not a deemed language suitable for the realization of highly structured applications, since by its very nature, being a scripting language, has features that limit its potential, such as completely dynamic typing and the lack of a strong support to the object-oriented programming.


NEW LANGUAGES

A solution to the weak points of JavaScript has been found by ECMA in its latest version of the standard language ECMAScript, in which JavaScript have its roots. These new features are present in the standard version but they can’t be brought on JavaScript due to several problems: for this reason, companies such as Google and Microsoft took advantage of this in order to propose new projects with the purpose of solving the ECMAScript problems but especially to conquire that segment of the software development market overawed by JavaScript until now.
During the 2011, Google released Dart, and one year after, Microsoft delivered TypeScript. The two projects have some features in common as the optional static typing and a strong programming support oriented towards objects and compiled language, but there is a basic difference between the two: Dart is designed from scratch while Typescript is a javaScript “superset” fully backward-compatible with its syntax and consequently with any piece of code made with this language.
The modern web developer, with regard to the client-side development, needs to work with the javaScript language and, consequently, this difference has contributed to the achievement of a greater success of TypeScrip compared to Dart.
TypeScript and JavaScript are really similar, so developers don’t need to use too much time for studying TypeScript.
Moreover, the compatibility with the JavaScript’s syntax sets TypeScript fully within its world: composed by a large range of libraries, but especially by a wide community of developers.
Accordingly, the applications developed in JavaScript may be converted into typescript without wasting time, it allows to exploit its potential in order to develop these applications in terms of better structuring, reusability and maintenance.


NEW LANGUAGES AND PLATFORMS

A very important aspect related to new web technologies (Dart and Typescript) is the compatibility with the platforms in which software systems must be executed.
This aspect underscores another difference between the two languages​​, since Dart has its own runtime environment capable of running software systems with significantly better performance compared to JavaScript, Typescript does not have this feature.
Both languages​​ are able to convert the source code in JavaScript so it can be compatible with the platforms in which there is a runtime environment for JavaScript: such conversion, in the case of typescript, however, shows minimal changes from the source code and it provides a better performance in terms of readability of generated code.
Referring to the Web Platform, the presence of a runtime environment in Dart currently doesn’t represents a real advantage, amongst the major browsers only Chrome installs it, so it is necessary to resort the conversion in JavaScript for all the other browsers. With reference to the mobile platforms, currently the most widespread, the compatibility with applications developed with web technologies is constrained to the use of technologies such as PhoneGap that deal with the conversion of the source code (constrained to be realized in this case with JavaScript + HTML + CSS), code-compatible with the platforms in question. The use of Dart or typescript needs to be assessed, taking into consideration any constraints imposed by PhoneGap (or similar technologies used).
A recent trend in this field is to get web developer closer to mobile platforms, for this reason projects such as Tizen, Blackberry 10 were born. These render compatible natively applications built with Web technologies. Even in this case Typescript would be at and advantage compared with Dart, and its success will continue to depend on market policies that could be implemented to spread its runtime environment with high performance.

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.