Pour des solutions client riche ( et pas forcément html5 qui n'est qu'un vague ensemble d'apis ) sans silverlight ou flex il y a diverses options :
pour les frameworks :
-
ExtJs qui est très complet ( framework desktop , touch , widgets , datastores, proxies ,charting ) développé par Sencha , utilisé par plus de 2 millions de développeurs.
-
AngularJS (Google) qui est déclaratif et du type MVVM , qui plaira aux flexeurs ainsi qu'aux développeurs silverlight ( extension du HTML , databinding , etc ...)
-
KnockoutJS développé par un développeur Microsoft , MVVM lui aussi proche de la syntaxe WPF (databinding ... )
-
GWT , framework permettant d'écrire des applications web riches en java
pour les widgets , selon le framework choisi , on en a besoin ou pas selon le framework :
-
qooxdoo- jQuery-ui
- Kendo UI
- Dojo
- etc ...
pour les languages (qui compilent vers javascript):
-
Haxe , qui a son propre éditeur , langage très complet proche d'AS3 et facile
à interfacer avec les librairies javascript existantes
-
TypeScript , développé par MS , introduit un typage optionel , des classes interfaces , etc ... qui est très bien supporté par visual studio ( intellisense ... )
-
coffeescript qui plaira aux rubyistes
pour le charting :
-
highcharts
- ect ...
en bonus , pour ceux qui ne sont pas designer mais veulent des styles et des "widgets" stylisés par défaut :
-
Bootstrap par des ingénieurs de twitter
-
Zurb frameworkpour les tests unitaires :
-
Qunit , pour les tests unitaires dans le navigateur ( framework test utilisé par les développeurs jQuery
-
Jasmine-
MochaPour travailler efficacement , il faut cependant installer
nodeJS , ce qui donne accès à des package managers (
npm ), des tasks managers , et certaines applications qui facilitent les test unitaires, la gestions des assets ,etc ...
Bref , contrairement à Flex ou Silverlight avec html et js il faut faire son marché , puisqu'il n'y a pas de librairie standard. Mais certains frameworks permettent de commencer à travailler rapidement, tout en gardant une bonne compatibilité entre les navigateurs.
Maintenant sur le fait que MS lache Silverlight, c'est extrêmement dommage pour les développeurs silverlight , mais MS a l'habitude de lâcher certaines solutions sans vrai préavis. HTML/JS sont donc des solutions pérennes pour remplacer les solutions propriétaires.
Personnellement :
Pour les applications desktop , j'ai choisi AngularJS , facile à apprendre, élimine totalement le code boilerplate grace au databinding.
Pour les widgets qooxdoo , jquery-ui ou dojo.
Pour le langage : coffeescript , puisque je viens de python/ruby.
Pour le design de base , Twitter Bootstrap , facilement "customisable".
Pour le multimedia , il existe des player html5 avec un fallback flash pour les vieux navigateurs, cependant je continue à utiliser flash pour développer mes propres players, sur mobile , il suffit de mettre un lien vers les contenus multi-média.
Pour les applications mobiles : Sencha Touch , très rapide même sur les mobiles bas de gamme.