BT
x Votre opinion compte ! Merci de bien vouloir répondre au sondage InfoQ concernant vos habitudes de lecture !

FunScript : Utiliser le pouvoir de F# pour écrire des applications Web

par Abel Avram , traduit par Julien Delhomme le 01 oct. 2013 |

FunScript est une librairie de compilation en F# permettant aux développeurs d'écrire des applications Web "single-page" en F# et de les exécuter dans un navigateur ou sur un serveur via Node.js.

FunScript a deux composants : une librairie de compilation utilisée pour convertir le code F# en JavaScript et un Type Provider pour TypeScript utilisé pour exposer les APIs de diverses librairies JavaScript et le DOM en tant que types statiques.

Par exemple, un "Hello, World" écrit en FunScript ressemble à ceci :

    [<FunScript.JS>]
    module Page
     
    open FunScript
    open FunScript.TypeScript
    type lib = Api<"lib.d.ts">
    let hello () = lib.window.alert("Hello, World!")
    do Runtime.Run(components=Interop.Components.all)

Chaque module est sauvegardé dans un fichier ".fs" et doit être annoté avec l'attribut FunScript.JS. On accède au DOM de la page via le type lib, la dernière ligne est utilisée pour lancer le système. Le module est stocké sur un simple serveur Web par défaut. Les modules FunScript peuvent être créés depuis Visual Studio, MonoDevelop ou un simple éditeur de texte.

La librairie est puissante en ce qu'elle permet au développeur d'interroger les types fournis via TypeScript et provenant de diverses librairies JavaScript, par exemple pour bénéficier de fonctions de complétion automatique ou de bulles d'aide. Actuellement, le projet FunScript sur GitHub contient les définitions de types pour le DOM HTML, jQuery, jQueryUI, Node.js, Google Maps et HighCharts, une librairie de graphiques interactifs en JavaScript. Une collection plus importante de définitions de types JS peut être trouvée ici.

Un autre avantage de l'utilisation de FunScript pour les applications Web, c'est la possibilité d'utiliser les génériques de F# et ses possibilités en matière de programmation asynchrone. Le développeur peut aussi travailler avec de la donnée JSON et des APIs REST grâce aux Types Providers de F# 3.0. Et tout ceci, en profitant de la concision de F#.

Le site Web de FunScript présente tout un ensemble d'exemples, dont Diagrammes pour les données de WorldBank avec F# et Rechercher dans la base de films The Movie Database avec F# et bien d'autres exemples peuvent être trouvés sur la page du projet sur GitHub.

FunScript est un projet Open Source sous licence Apache Licence 2.0.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT