Mithril : un framework JavaScript moderne, simple, rapide et léger comparé à React ou Angular
Pour ceux qui privilégient la facilité d'intégration

Le , par Christian Olivier

380PARTAGES

14  0 
La plupart des frameworks modernes sont rapides et bien adaptés pour créer des applis complexes si vous savez les utiliser efficacement.


Mithril.js est un framework JavaScript moderne qui permet notamment de concevoir des applications monopage (single-page application ou SPA). Il est petit (moins de 8 Ko pour son archive gzip), rapide et fournit des utilitaires XHR et de routage prêts à l’emploi. Il bénéficie, en outre, du soutien d’une communauté active qui contribue depuis quelques années déjà à son évolution.

Mithril offre des possibilités similaires à Angular.js (support de la « ;composantisation ;» par exemple) tout en étant beaucoup plus simple à manipuler. Il utilise aussi une représentation interne du DOM (ou Virtual DOM) et se sert de JavaScript comme d’un mécanisme de contrôle de flux dans les vues comme React.js. Ce framework a l’avantage d’être plus léger que React ou Angular et évite d’avoir recours à des librairies tierces telles que jQuery.


Habituellement, un composant fait référence à une partie bien précise et autonome d’une interface utilisateur. Un composant Mithril pour sa part peut se décomposer en deux parties : un contrôleur et une vue. C’est juste un objet avec une fonction de vue. Les composants Mithril facilitent l’écriture de code modulaire. Signalons au passage que Mithril.js identifie automatiquement le moyen le plus efficace pour mettre à jour un code, plutôt que de le recréer aveuglément à partir de zéro.

Mithril pourrait être considéré comme la solution idéale pour créer des widgets JavaScript intégrés et des interfaces utilisateur ayant des exigences de performances élevées. Il permet aussi d’améliorer les performances des applications conçues pour la communication interactive en temps réel entre différents interlocuteurs. De plus, ce framework de développement est supporté par un très grand nombre de navigateurs (incluant Internet Explorer 9) et par toutes leurs versions mobiles.

Mithril est utilisé par de nombreuses sociétés reconnues (Vimeo, Nike ou encore Fitbit) et alimente également de grandes plateformes open source comme Lichess ou Flarum. Ce framework a même déjà permis de concevoir l’application de jeu Guild Wars 2. Son approche pragmatique de la création d’applications le destinerait aux développeurs qui privilégient la cohérence et la facilité d’intégration.

Pour plus d’information sur ce framework et pour avoir la liste exhaustive de toutes ses fonctionnalités, n’hésitez pas à consulter le site officiel.

Source : Mithril

Et vous ?

Qu’en pensez-vous ?
Avez-vous déjà utilisé Mithril ? Comment le trouvez-vous ?
Quel framework JavaScript utilisez-vous le plus actuellement ? En êtes-vous satisfait ?

Voir aussi

Angular : la version 6.0.0 du framework JavaScript de Google est enfin disponible, mais sans le nouveau moteur de rendu Ivy

La version 5.1 du framework JavaScript Angular est disponible, en même temps qu'Angular CLI 1.6 et la première version stable d'Angular Material

Facebook annonce la réécriture des composants internes de son Framework React Native pour faciliter son utilisation avec les applications hybrides

pache Foundation proscrit l’utilisation de licence Facebook comme celle de React

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de bouchery
Membre à l'essai https://www.developpez.com
Le 21/08/2018 à 17:44
perso je préfère rester sur python car c'est 1 framework pour les gouverner tous, a savoir django.
Tu ne sembles pas avoir compris ce dont parle l'article
7  1 
Avatar de archqt
Membre confirmé https://www.developpez.com
Le 21/08/2018 à 19:13
Citation Envoyé par ShigruM Voir le message
Moi je n'aime pas javascript ni ces nouveaux framework qui sortent chaque jour qui se veulent plus "moderne, simple, rapide et léger"

par contre je ne peut que recommander le nom donné a ce projet, il donne l'impression d'etre solide et léger, c'est la fibre de carbonne du monde fantastique.
de plus le Mithril est la matière qui nous protège des forces du mal à savoir Saumon

perso je préfère rester sur python car c'est 1 framework pour les gouverner tous, a savoir django.

question : existe t'il un framework pour coder en webassembly ? comme dit il y'a 10 ligne n'aimant pas javascript j'ai l'intention de ne plus coder en JS et de faire exclusivement sur web asm.
je cherche un framework web assembly qui soit moderne, simple, rapide et léger
Sauf erreur Django n'a pas encore réussi à passer du côté client et même si il propose (je n'ai pas testé) des widgets qui génèrent du javascript qui sera exécuté côté client (navigateur donc) il y aura forcément des cas ou il faudra faire du javascript.
Ou alors il faudra un "transpileur" qui permettra de tout coder en python mais comme le navigateur ne sait pas exécuter du pyhton il faudra forcément faire une transformation quelque part.
3  1 
Avatar de Jitou
Membre averti https://www.developpez.com
Le 22/08/2018 à 11:12
On va aller jusqu'où avec tous ces framework JS qui sortent tous les 6 mois ? Le dernier est plus mieux, il va révolutionner le secteur etc ... ça rime à quoi de changer et de réapprendre un nouveau paradigme à chaque nouveautés ? Pour l'instant je reste utilisateur de loisir et surtout spectateur de ces technos JS qui se cherchent et qui n'arrivent manifestement pas à satisfaire complètement leurs adeptes
3  0 
Avatar de pterrat
Membre habitué https://www.developpez.com
Le 21/08/2018 à 17:18
J'ai eu l'occasion de tester ce nouveau framework, j'en dégage plusieurs points:

Architecture MVC

Tout comme React, Mithril fournit une approche MVC qui permet de pouvoir appréhender le framework rapidement.

Création de composant

Mirthil permet la création de composant avec un controller non requis. Si on prend le cas de React, nous devons étendre les classes. Dans le cas d'Angular, on est obligé de créer un composant exigeant un controler.

La documentation

D'après ce que j'ai pu voir, la documentation est assez complète pour un (si petit) framework.

La performance

L'avantage le plus important de ce framework. Ultra rapide (inférieur à 1ms, il me semble au load) Il devance largement Angular et React sur la performance.
Pour plus d'informations concernant les performances, je renvois à ton lien qui est excellent

Il me reste encore à tester les templates et le testing.
2  0 
Avatar de Sonagno
Futur Membre du Club https://www.developpez.com
Le 22/08/2018 à 22:09
Moi je reste jquery
2  0 
Avatar de ShigruM
Nouveau Candidat au Club https://www.developpez.com
Le 21/08/2018 à 17:23
Moi je n'aime pas javascript ni ces nouveaux framework qui sortent chaque jour qui se veulent plus "moderne, simple, rapide et léger"

par contre je ne peut que recommander le nom donné a ce projet, il donne l'impression d'etre solide et léger, c'est la fibre de carbonne du monde fantastique.
de plus le Mithril est la matière qui nous protège des forces du mal à savoir Saumon

perso je préfère rester sur python car c'est 1 framework pour les gouverner tous, a savoir django.

question : existe t'il un framework pour coder en webassembly ? comme dit il y'a 10 ligne n'aimant pas javascript j'ai l'intention de ne plus coder en JS et de faire exclusivement sur web asm.
je cherche un framework web assembly qui soit moderne, simple, rapide et léger
1  8 
Avatar de Daïmanu
Membre chevronné https://www.developpez.com
Le 21/08/2018 à 20:18
Citation Envoyé par archqt Voir le message
Ou alors il faudra un "transpileur" qui permettra de tout coder en python mais comme le navigateur ne sait pas exécuter du pyhton il faudra forcément faire une transformation quelque part.
Un transpileur comme Brython ? (Découvert sur le chat aujourd'hui)
Brython est un interpréteur Python 3 sous forme de fichier javascript qui offre des méthodes pour manipuler le DOM.
1  1 
Avatar de grunk
Modérateur https://www.developpez.com
Le 22/08/2018 à 13:44
Citation Envoyé par Jitou Voir le message
On va aller jusqu'où avec tous ces framework JS qui sortent tous les 6 mois ?
6 mois ? t'es vachement optimiste ^^ : https://dayssincelastjavascriptframework.com/

Plus sérieusement l'argument du poids n'en ai pas un pour moi. On voit trop souvent l'argument de "Moi j'utilise X , il fait que Y ko" ... Ce que je vois surtout c'est que derrière tu as un package.json long comme le bras avec 5 mo de dépendance sauf que tu t'en rend pas vraiment compte. Au final ton appli est lourde et t'es pas capable de le solutionner parce que tu ne maîtrise pas les dépendances.

Perso ma préférence reste sur Angular 2 ,4 ,5 ,6 qui me convient mieux dans son approche. La façon de développer est plus proche de ce que je retrouve dans les autres langages que je pratique (et par conséquent plus éloigné de ce qu'on voit habituellement en js).
1  1 
Avatar de Kikuts
Membre éclairé https://www.developpez.com
Le 22/08/2018 à 18:03
Juste un mot : woaw.

Je suis dév C# XAML (WPF/UWP/XF). J'ai toujours été allergique à JQuery (je préfère largement écrire du Vanilla JS).

J'ai testé vite fait à midi le tuto de Mithril. Il n'y a pas à dire. C'est autre chose que Angular & co. J'ai vraiment envie de tester ce framework.
Si en plus, les perfs sont bonnes et c'est très light, alors je suis preneur !
1  0 
Avatar de Sodium
Membre extrêmement actif https://www.developpez.com
Le 23/08/2018 à 15:05
Je suis et resterai sous Angular.
Ce framework a justement l'énorme avantage de pouvoir se passer de faire du JavaScript.
Il pallie ainsi au principal défaut de JavaScript, qui est justement d'être JavaScript.

Les premiers exemples de Mythril ne donnent clairement pas envie : c'est du bon gros JavaScript bien dégueulasse des familles avec des variables qui retournent des fonctions qui retournent des fonctions ...

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12

var root = document.body
var count = 0 // added a variable

var Hello = {
    view: function() {
        return m("main", [
            m("h1", {
                class: "title"
            }, "My first app"),
            m("button", {
                onclick: function() {count++}
            }, count + " clicks")
        ])
    }
}

m.mount(root, Hello)
1  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web