domenica 10 marzo 2013

Javascript MVC frameworks

It’s hard to admit, but I must change my mind about Javascript MVC frameworks. If someone had told me how good were the MVC framework on the client side only a few years ago, I would have probably said that she understood nothing of software architectures. Now that my experience is growth a little, I find that a good Javascript MVC framework is a must.

ROA example
A scheme of ROA based applications
In a world where datas and resources need to be accessed by different applications, designed and coded in different ways, the only chance we have to survive is to use Resource Oriented Architetures (ROAs). In this kind of architecture, datas and resources are exposed to clients (such as iOS and Android applications, Javascript webapps, etc...) via ReST API. Obviously, every type of these clients has to be designed using design patterns, frameworks, etc…One of the most known architectural design pattern is the Model View Control pattern (MVC).

Because the model can’t be part of a client in this kind of architecture, we have to substitute it with a surrogate. This surrogate has to be synchronized with the real model through the ReST APIs. So, why don’t we use a framework and let do all the dirty job to it?

There are a lot of Javascript MV* framework, such as Backbone.js, Angular.js (sponsored by Google), Ember.js, etc…Any of these frameworks has its own peculiarities. So, how can we choose the one that best fits our needs? Todo MVC (http://todomvc.com/) will help us! Todo MVC is a site in which we can find a simple TODO application developed in each of the best Javascript MV* frameworks.

That's great!



mercoledì 6 marzo 2013

Introducing myself...

Hi everyone,

What is a Big ball of mud?! It is the tipical anti-pattern that you can find realized in many software products (ref. Wikipedia):
A big ball of mud is a software system that lacks a perceivable architecture. Although undesirable from an engineering point of view, such systems are common in practice due to business pressures and developer turnover
A software architecture such this one generates frustration both to software architects and to business men. It is the absolute evil, the kind of mistake that every designer has to avoid.

So, it is important that every software architect and developer learns very well solutions architects with more experience found in their career. It is important to create a knowledge base of software engineering. I perfectly know that this is impossible and that I am not the right person to accomplish this task. But, I am sure that I can make this world a better world.

Currently I am a senior Java developer for an italian system integrator and I am contract professor of the Software Engineering course at Department of Mathematics of University of Padua, Italy.

But, first of all I am a NERD, completely addicted to computer science.

Riccardo
--

(Thanks to xkcd.com to exist)