Créé en 2002, il a longtemps été principalement utilisé dans son implémentation originale, la plateforme .Net.
Il a été par la suite de plus en plus populaire dans d'autres domaines.
Notablement :
Son usage s'est accru de façon stable depuis sa création.
Mais il est un domaine où le C#, comme beaucoup d'autres langages, ne s'impose pas.
Ce domaine, c'est le web côté client.
Même si Javascript est un langage qui a su se moderniser, il a été conçu sur de mauvaises bases.
Voici la vision de Netscape, qui en collaboration avec Sun, implémentait Java (et ses magnifiques applets) côté serveur et développait le Javascript côté client :
"We aimed to provide a "glue language" for the Web designers and part time programmers who were building Web content from components such as images, plugins, and Java applets. We saw Java as the "component language" used by higher-priced programmers, where the glue programmers -- the Web page designers -- would assemble components and automate their interactions using JS."
"Notre but était de fournir un langage "colle" pour les web designers et les développeurs du dimanche qui concevaient du contenu web a partir de composants tel que des images, des plugins et des applets Java. Nous voyions Java comme le "langage pour les composants" utilisé par les développeurs expérimentés, où les développeurs "colle"(les designers de page web) assembleraient et automatiseraient leurs interactions en utilisant Javascript". (1)
Développé à la hâte, même son nom(2) qui entretient encore la confusion .
Si plusieurs solutions tel que le typescript ou Ruby tentent de limiter ou contourner les problèmes, nous avons un langage avec des faiblesses :
Javascript est si populaire côté client uniquement parce qu'il était le seul langage dynamique à pouvoir s'exécuter sur tous les navigateurs.
Il est tellement incontournable qu'à défaut de pouvoir le remplacer, on lui a permis de s'installer sur les serveurs.
Webassembly ou wasm pour les intimes est un format d'instruction qui permet la compilation de langages de haut niveau pour des applications web serveur et client.
Il est donc désormais possible d'exécuter du C++, du Rust, du C# sur Chrome, Firefox, Edge et Safari. Et ça, c'est plutôt cool.
Microsoft a commencé à développer un Framework nommé Blazor qui permet de développer en C# côté client.
Le projet en est à son commencement mais on peut déjà tester le Framework.
Toutes les infos sont sur github.
Ci dessous, voici à quoi ressemble un composant Blazor :
<div class="alert alert-survey" role="alert">
<span class="glyphicon glyphicon-ok-circle" aria-hidden="true"></span>
<strong>@Title</strong>
Please take our
<a target="_blank" class="alert-link" href="https://go.microsoft.com/fwlink/?linkid=870381">
brief survey
</a>
and tell us what you think.
</div>
@functions
{
// This is to demonstrate how a parent component can supply parameters
public string Title { get; set; }
}
C'est le moment de tester ce Framework pour l'instant experimental et assez simple mais qui, si Microsoft et la communauté vont dans le bon sens, pourra être une alternative viable aux frameworks Js les plus populaires.
Sources :
(1) https://www.computerworld.com.au/article/255293/a-z_programming_languages_javascript/
Commentaires :
Aucun commentaires pour le moment
Laissez un commentaire :