


Le contrecoup de dépendance JavaScript: amélioration progressive de la mythe
Points de base
- Malgré la montée en puissance des cadres clients tels que AngularJS, Progressive Enhancement (PE) reste le meilleur choix pour résoudre des problèmes de développement Web tels que le support approfondi du navigateur, la maintenance et les développements futurs des applications.
- PE n'est pas destiné aux utilisateurs qui désactivent JavaScript, mais à l'amélioration de l'expérience utilisateur lorsque certaines fonctionnalités JavaScript sont disponibles. Il ne fait aucune hypothèse sur votre public comme un cadre client.
- Les critiques de PE affirment souvent que cela signifie soutenir les anciens navigateurs, mais en fait, fournir des replies aux navigateurs plus âgés est l'avantage de l'EP, plutôt que de son objectif principal.
- Les cadres JavaScript peuvent offrir des avantages à court terme, mais peuvent entraîner une réduction des visiteurs et des difficultés de maintenance à long terme. Ils restent fermement dans le présent, contrairement à l'EP, qui permet aux API modernes sans casser l'application.
- L'amélioration progressive sépare le contenu, la mise en page et les fonctionnalités pour une maintenance facile, réduit le fardeau des tests, prend en charge une variété d'appareils et assure le référencement et l'accessibilité. Malgré la montée en puissance des cadres JavaScript côté client, cette technologie fonctionne toujours.
Louis a récemment commenté le sujet du forum "Sommes-nous dans un rebond de dépendances de script?": & Gt; Je pense que dans une certaine mesure, nous sommes dans un rebond de dépendances de script, ce qui peut être une bonne chose.
en bref - je suis d'accord. D'autres ont également convenu, notamment l'expert Web PPK ( Questions angulaires ), Jeremy Keith ( Momentum angulaire ) et Jake Archibald ( L'amélioration progressive est toujours importante ).
- Malgré la montée rapide des cadres clients, relativement peu d'applications Web conviennent à l'utilisation de frameworks JavaScript.
- L'amélioration progressive reste le meilleur choix pour résoudre des problèmes de développement Web tels que le support approfondi du navigateur, la maintenance et les développements futurs des applications.
Définissons le terme dont nous discutons ... Qu'est-ce qu'une dépendance JavaScript?
L'utilisation des cadres clients a augmenté. Ils fournissent des modes de codage côté serveur tels que MVC, des vues de modèle, des composants réutilisables, une validation de formulaire, etc. AngularJS est probablement le plus célèbre et le plus populaire, mais ce n'est pas la seule solution. Contrairement aux frameworks côté serveur, les alternatives du client doivent s'exécuter sur les navigateurs avec JavaScript moderne activé. Sans JavaScript, ils échouent. Tidal est un exemple typique; si JavaScript n'est pas disponible, l'utilisateur verra une page vierge. Pas de contenu, pas d'erreurs et pas de formulaire d'inscription. Bien qu'il n'y ait presque aucune raison de ne pas afficher les messages, les applications dépendantes de JavaScript ont de bons cas d'utilisation:
- prototype Simuler rapidement des sites Web et des applications, car le Client Framework fournit une multitude de composants et de raccourcis.
- Application client pure Si votre application est simple et ne nécessite pas d'interactions de serveur autres que le téléchargement initial, le framework JavaScript peut être un bon choix (en supposant que vous pouvez supprimer le contenu indésirable).
- Application d'entreprise interne Le JavaScript forcé n'est pas un problème lorsque vous comprenez votre public et les appareils que vous utilisez. Angular a été initialement conçu pour les applications d'entreprise.
- Interface fine Considérez les jeux d'action, les cartes Google et la documentation. Développer des alternatives sans JavaScript est futile. Google a créé une version HTML de base de Google Maps, mais c'était en fait une application différente et a été abandonnée en 2010.
Il y a d'autres cas, mais la plupart des sites Web et applications accessibles au public ne figurent pas dans ces catégories. Personne ne vous empêchera d'utiliser des frameworks clients, cependant, lorsque vous avez un marteau, tout ressemble à un clou. Citation Louis à nouveau: & gt; Les développeurs semblent les utiliser juste pour utiliser de nouveaux outils éblouissants, et non parce qu'ils résolvent le problème réel.
Qu'est-ce que l'amélioration progressive?
L'amélioration progressive (PE) n'est pas une technologie, mais une méthode de développement. J'ai écrit quelques tutoriels et exemples en 2009, mais ce concept a été discuté depuis 2003. Vous commencez par construire un niveau d'expérience utilisateur de base, puis ajoutez des fonctionnalités plus avancées lorsque votre navigateur le prend en charge. Poussez PE à l'extrême de la logique:
- Vous créez une application HTML pure, et tout le traitement important est effectué du côté du serveur. Il peut fonctionner dans n'importe quel navigateur; appareil mobile, Lynx, IE1.0 ou tout navigateur que vous utilisez.
- Vous utilisez CSS pour améliorer la disposition. CSS est prêt à l'EP car les navigateurs ignorent les propriétés qu'ils ne comprennent pas. Vous pouvez encore l'améliorer avec des options telles que les requêtes multimédias ou les règles @Supports. L'application fonctionne toujours n'importe où, mais offre une expérience améliorée pour les navigateurs avec des capacités CSS modernes.
- Vous utilisez des améliorations JavaScript. JavaScript est la couche la plus instable, car la prise en charge du langage et de l'API varie d'un navigateur à l'autre. En supposant qu'il fonctionne, vous testerez la disponibilité avant de les utiliser. Par exemple, lorsque Canvas ou SVG est pris en charge, vous pouvez convertir les tables de données en beaux graphiques.
Chaque navigateur reçoit la meilleure application qu'il peut gérer. Il n'y a peut-être pas deux navigateurs qui offrent exactement la même expérience. La conception réactive d'abord mobile et la priorité hors ligne moins utilisée sont des exemples de techniques d'amélioration progressive. Voyons les critiques de PE.
Mythe: personne ne désactive JavaScript
Les seconds personnes savent ce qu'est JavaScript. Peu de navigateurs permettent aux utilisateurs de désactiver JavaScript (facile) C'est absolument correct. PE Les critiques ont ensuite conclu: & gt; Ceux qui n'ont pas de javascript obtiennent ce qu'ils méritent.
Il est dangereux de supposer que JavaScript sera toujours, n'importe où et à tout moment pour atteindre le niveau requis pour votre application. Tout le monde a JavaScript, non? Cela montre. L'amélioration progressive n'est pas pour les utilisateurs qui désactivent JavaScript. Il s'agit d'améliorer l'expérience utilisateur lorsque certaines fonctionnalités JavaScript sont disponibles. Lorsque JavaScript est désactivé, l'application peut fournir une mauvaise interface, mais l'utilisateur obtiendra toujours quelque chose .
Mythe: personne n'utilise le vieux navigateur
Qu'entendons-nous par "vieux"? Pour la plupart des développeurs, c'est un navigateur qui est libéré depuis plus de douze mois. Tout le monde ne peut pas utiliser les dernières et meilleures applications:
- de grandes organisations et services gouvernementaux
- Désactivé
- personnes des pays en développement
- La classe moins riche de la communauté
- quiconque utilise l'iPhone 5.0 ou Android 4.0 et ci-dessous.
Ces départements peuvent ne pas avoir d'importance pour vous. Mais n'ont-ils jamais d'importance? L'amélioration progressive ne fait aucune hypothèse sur votre public. Ce n'est pas le cas avec les cadres clients. Ceux qui ne peuvent pas utiliser votre application disparaîtront du journal du serveur. Il se transformera bientôt en une prophétie auto-réalisatrice: "Personne n'utilise notre application sur un vieux navigateur, afin que nous puissions continuer à le faire ..." Mythe: l'amélioration progressive est anti-javascript
améliorer progressivement les avantages de base de l'inclusion du Web. Un site ou une application qui peut s'exécuter sur n'importe quel périphérique réseau n'importe où dans le monde peut être développé. Meilleur est l'appareil, meilleur est l'expérience utilisateur. Les cadres clients font de JavaScript une dépendance absolue. Vous n'encodez plus le Web. Votre application utilise le Web comme mécanisme de livraison pour un moteur d'exécution spécifique. Un navigateur est votre système d'exploitation et les mises à jour peuvent rompre votre application.
Mythe: l'amélioration progressive fait des hypothèses sur les utilisateurs et les appareils
PE, c'est
ne pas fairehypothèses. Vous ne présumez rien - c'est la prémisse principale de cette technologie. Les frameworks JavaScript vous feront penser à tort que tout le monde utilise un navigateur puissant sur un appareil puissant. Nous avons déjà fait ces hypothèses. En quoi est-ce différent de supposer que tout le monde utilise le haut débit? Ou tout le monde a au moins un écran de 17 pouces qui mesure au moins 960 pixels de large? Ou tout le monde utilisera-t-il IE6 maintenant et à l'avenir? Mythe: l'amélioration progressive signifie le support pour les navigateurs obsolètes
Les critiques progressivement améliorés pensent que vous passerez tout votre temps à travailler sur les anciens navigateurs. En fait, c'est le contraire: vous n'avez jamais besoin de faire face aux anciens navigateurs parce que la secours approprié est déjà en place. Soutenir les anciens navigateurs est un avantage de PE -
plutôt que de cible. Vous pouvez prendre en charge les pires navigateurs, mais vous pouvez construire n'importe quelle ligne de base que vous aimez. Par exemple, je développe actuellement une application où AddEventListener est une exigence pour la plupart des exécutions JavaScript. Par conséquent, IE8 et ci-dessous ne pourront pas afficher les améliorations des fonctionnalités. Je peux résoudre ce problème, mais cela ne vaut pas l'investissement car il s'agit d'une application d'entreprise sans anciens utilisateurs IE. Cependant, les utilisateurs IE8 peuvent toujours utiliser le système et peuvent l'améliorer si nécessaire. Vous pouvez utiliser la technologie PE pour créer des applications qui se ressemblent. La raison de la confusion est que la plupart des frameworks JavaScript fournissent une gamme de widgets pré-développés qui ont l'air bien. Ces mêmes widgets peuvent être utilisés dans des applications progressivement améliorées, cependant, sans JS, elles retombent à l'alternative HTML de base. PE vous permet également d'utiliser des API HTML, CSS et JavaScript modernes et JavaScript qui ne sont pas encore apparues dans aucun navigateur. Considérez l'API Fetch - une alternative moderne à XmlHttpRequest. Il prend en charge le minimum, mais je peux l'utiliser sans problèmes car je peux retomber à XMLHTTPREQUEST ou à la demande de serveur. Le cadre JavaScript reste fermement dans le présent - pas l'avenir.
Mythe: amélioré progressivement entrave le développement Web Mythe: JavaScript Framework facilite le développement . Il est utilisé par un client majeur et n'est pas particulièrement ancien; Ils peuvent s'attendre à ce que le temps de développement soit de plusieurs jours, mais il n'est peut-être pas possible si votre cadre JavaScript est incompatible. Pour les applications développées à l'aide de la technologie PE, ce problème peut ne jamais se produire; vous pouvez déjà soutenir le navigateur. D'autres améliorations peuvent être ajoutées sans réécriture majeure. Il s'agit de la citation la plus populaire des critiques. Les seules personnes qui disent que l'EP est surmenée est celle qui ne l'a jamais essayé ou qui a échoué d'une manière ou d'une autre. Si vous n'avez pas pensé à PE depuis le début, cela ne prendra que deux fois plus de temps. Essayer de reconstruire l'EP dans les applications existantes est voulu à l'échec - en particulier pour les applications qui reposent sur JavaScript. Voyons un exemple simple, comme une liste de pagination des résultats de la requête de recherche. La première page charge de renvoie tout HTML. C'est rapide, JavaScript n'a rien besoin de faire quoi que ce soit. Dans les coulisses, nous utilisons les requêtes de base de données et insérons les résultats dans le modèle HTML. Vous pouvez rapidement ajuster le même service pour retourner les résultats que les données JSON ou le résultat HTML sans titre et pied de page. Lorsque l'utilisateur clique sur "Page 2", le résultat de la deuxième page s'affiche: Cela nécessite plus de travail, mais ce n'est certainement pas le double de la quantité de travail. Nous bénéficions de solutions tolérantes aux pannes croisées. La logique derrière cet argument est que le site Web deviendra finalement obsolète. Vous pouvez donc utiliser un cadre qui cible une technologie spécifique à un moment précis. Je l'espère. Si votre code est bon, il sera utilisé beaucoup plus longtemps que prévu. Le mauvais code survit plus longtemps parce que personne ne veut le toucher. Cependant, à nouveau en utilisant une amélioration progressive, vous ne faites aucune hypothèse autre que le Web se poursuivra en tant que système basé sur HTML basé sur le client / serveur. Le Web doit changer fondamentalement pour faire échouer votre application - ce ne sera plus le Web! Citation Oddz: & gt; La surtension dans les frameworks JavaScript côté client a fait de vous une minorité avec d'autres "vieilles personnes âgées". Oui, merci! Le rebond JavaScript a été dirigé par des personnes qui se développent sur le Web depuis un certain temps. Sommes-nous tous des gens têtus qui ont peur des nouvelles technologies et ne pouvons pas suivre le rythme du temps? Peut être. Ou peut-être que c'est parce que nous avons appris des leçons de beaucoup, beaucoup de nos erreurs historiques? JavaScript Framework soulève des questions familières: Certaines personnes mélangent du HTML et des fonctionnalités comme nous utilisons des gestionnaires onclick, comme Ils ciblent des navigateurs spécifiques. Il y a eu une résurgence de la «meilleure façon de parcourir les messages et les balises de parcourir les messages et les balises.
Framework JavaScript profite principalement aux développeurs - plutôt que les utilisateurs. Ils peuvent fournir des avantages à court terme au prix des visiteurs réduits et un entretien douloureux à long terme. Et n'oubliez pas le référencement. Google index des pages JavaScript, mais elle n'est pas nécessairement en mesure de suivre toutes les branches logiques. Il est également difficile de relier à une URL spécifique, sauf si vous rédigez soigneusement votre code. L'amélioration progressive complète les avantages du Web:
Il existe plusieurs stratégies pour gérer efficacement les dépendances JavaScript. Ces stratégies incluent l'utilisation de bundlers de modules comme WebPack ou Rollup qui peuvent regrouper toutes les dépendances en un seul fichier; . La mise en œuvre d'améliorations progressives de votre code JavaScript comprend l'écriture de code, la fourniture de fonctionnalités de base à tous les navigateurs, puis l'ajout de fonctionnalités plus avancées aux navigateurs qui peuvent le prendre en charge. Cela peut être fait en utilisant la détection des fonctionnalités pour vérifier si le navigateur prend en charge une fonctionnalité avant de l'utiliser et de s'assurer que votre code peut être élégamment rétrogradé dans les navigateurs qui ne prennent pas en charge certaines fonctionnalités. Les cadres JavaScript du client reposent généralement fortement sur les dépendances JavaScript. Ces cadres (tels que React, Angular et Vue.js) contiennent de nombreuses fonctionnalités et bibliothèques intégrées sur lesquelles votre code peut compter. Bien que cela puisse rendre le développement plus rapide et plus facile, cela peut également entraîner des problèmes potentiels si ces dépendances ne sont pas gérées correctement. L'amélioration progressive peut jouer un rôle clé dans le cadre JavaScript côté client. Ces cadres incluent souvent des fonctionnalités qui permettent aux développeurs d'implémenter des améliorations incrémentielles, telles que le rendu côté serveur et la segmentation de code. Ces fonctionnalités peuvent vous assurer que votre application Web fournit des fonctionnalités de base à tous les utilisateurs, quelle que soit la fonctionnalité de leur navigateur. Les dépendances JavaScript équilibrées et l'amélioration progressive nécessitent une planification minutieuse et de bonnes pratiques de codage. Vous devez minimiser les dépendances dans votre code et vous assurer qu'elles sont gérées correctement. Dans le même temps, vous devez travailler dur pour obtenir une amélioration progressive, en vous assurant que votre application Web fournit des fonctionnalités de base à tous les utilisateurs. Cela peut impliquer l'utilisation de la détection des caractéristiques, des déclassements élégants et d'autres technologies. Mythe: les applications JavaScript Framework sont plus cool
ou, plus précisément, le cadre client est à la pointe de la technologie, poussant le Web en avant. Désolé, mais c'est une illusion. Les cadres de type AngularJS implémentent des fonctionnalités magiques, mais, si vous creusez plus profondément, vous utilisez toujours les opérations HTML, CSS, JavaScript et DOM. Au mieux, c'est une abstraction. Au pire, c'est une distraction. Votre cadre client est aussi bon que le navigateur qui l'a développé. AngularJS 2.0 est complètement réécrit car des fonctionnalités telles que object.observe () et les composants Web n'étaient pas courantes lorsque AngularJS 1.x a été libéré. Le cadre vous oblige à utiliser l'ancienne technologie, mais cache la mise en œuvre de vous. PE vous permet d'utiliser une API moderne sans casser votre application. Bonne chance dans la mise à niveau d'Angular 1 ...
Cette pièce est correcte - mais uniquement si vous commencez à construire votre application. Vous pouvez accéder à une gamme de contrôles qui réduisent le temps de développement initial. Cependant, vous êtes ensuite piégé dans le cadre du cadre, ce qui peut entraîner des problèmes plus tard. Supposons que votre application fonctionne depuis un certain temps et que le client nécessite la support
Browserx Mythe: l'amélioration progressive est le double de la charge de travail
Mythe: progressivement amélioré sans signification - développement de sites Web ou extinction
Mythe: l'amélioration progressive est une ancienne technologie recommandée par les anciens prédécesseurs
Il sépare le contenu, la mise en page et la fonctionnalité pour une maintenance facile
Un seul inconvénient: il est clair que de nombreux développeurs ne font toujours pas confiance ou ne comprennent pas l'amélioration progressive. Vive le rebond des dépendances JavaScript!
Qu'est-ce qu'une dépendance JavaScript?
La dépendance JavaScript signifie que le code JavaScript dépend des autres fichiers ou bibliothèques JavaScript à exécuter normalement. Par exemple, si un fichier JavaScript utilise une fonction ou une variable définie dans un autre fichier ou bibliothèque, il dépendra de ce fichier ou de ce fichier. Les dépendances peuvent rendre le code plus efficace et gérable, mais ils peuvent également introduire la complexité et les problèmes potentiels s'ils ne sont pas gérés correctement.
L'amélioration progressive est une philosophie de conception qui met d'abord l'accent sur le contenu Web de base, puis ajoute progressivement des couches plus détaillées et complexes de présentation et de fonctionnalités en plus. Dans le contexte de JavaScript, cela signifie écrire du code qui fournit des fonctionnalités de base à tous les navigateurs, tout en fournissant des fonctionnalités avancées aux navigateurs qui peuvent le prendre en charge.
Les dépendances JavaScript peuvent entraver une implémentation progressivement améliorée. Si un fichier JavaScript s'appuie fortement sur d'autres fichiers ou bibliothèques que tous les navigateurs ne prennent pas en charge, il peut ne pas fournir de fonctionnalités de base à ces navigateurs. Cela va à l'encontre du principe de l'amélioration progressive, qui vise à fournir des fonctionnalités de base à tous les utilisateurs.
L'amélioration progressive offre de nombreux avantages. Il garantit que tous les utilisateurs peuvent accéder au contenu de base et aux fonctionnalités de la page Web, quelle que soit la fonctionnalité de leur navigateur. Il promeut également de bonnes pratiques Web telles que le HTML sémantique et la séparation des préoccupations, et rend le site Web plus résistant aux problèmes potentiels avec JavaScript ou CSS.
Bien que les dépendances JavaScript puissent rendre le code plus efficace et gérable, il peut également introduire la complexité et les problèmes potentiels. Si la dépendance n'est pas gérée correctement, elle peut entraîner des problèmes tels que des ballonnements, un temps de chargement lent et des conflits possibles entre différents fichiers ou bibliothèques. Il peut également rendre le code plus difficile à maintenir et à déboguer.
Comment gérer efficacement les dépendances JavaScript?
Comment réaliser une amélioration progressive de mon code JavaScript?
Quelle est la relation entre les dépendances JavaScript et le cadre JavaScript côté client?
Quel est le rôle de l'amélioration progressive dans le cadre JavaScript client?
Comment équilibrer les dépendances JavaScript et l'amélioration progressive de mon projet de développement Web?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

C et JavaScript réalisent l'interopérabilité via WebAssembly. 1) Le code C est compilé dans le module WebAssembly et introduit dans un environnement JavaScript pour améliorer la puissance de calcul. 2) Dans le développement de jeux, C gère les moteurs de physique et le rendu graphique, et JavaScript est responsable de la logique du jeu et de l'interface utilisateur.

JavaScript est largement utilisé dans les sites Web, les applications mobiles, les applications de bureau et la programmation côté serveur. 1) Dans le développement de sites Web, JavaScript exploite DOM avec HTML et CSS pour réaliser des effets dynamiques et prend en charge des cadres tels que JQuery et React. 2) Grâce à la réactnative et ionique, JavaScript est utilisé pour développer des applications mobiles multiplateformes. 3) Le cadre électronique permet à JavaScript de créer des applications de bureau. 4) Node.js permet à JavaScript d'exécuter le côté du serveur et prend en charge les demandes simultanées élevées.

Python est plus adapté à la science et à l'automatisation des données, tandis que JavaScript est plus adapté au développement frontal et complet. 1. Python fonctionne bien dans la science des données et l'apprentissage automatique, en utilisant des bibliothèques telles que Numpy et Pandas pour le traitement et la modélisation des données. 2. Python est concis et efficace dans l'automatisation et les scripts. 3. JavaScript est indispensable dans le développement frontal et est utilisé pour créer des pages Web dynamiques et des applications à une seule page. 4. JavaScript joue un rôle dans le développement back-end via Node.js et prend en charge le développement complet de la pile.

C et C jouent un rôle essentiel dans le moteur JavaScript, principalement utilisé pour implémenter des interprètes et des compilateurs JIT. 1) C est utilisé pour analyser le code source JavaScript et générer une arborescence de syntaxe abstraite. 2) C est responsable de la génération et de l'exécution de bytecode. 3) C met en œuvre le compilateur JIT, optimise et compile le code de point chaud à l'exécution et améliore considérablement l'efficacité d'exécution de JavaScript.

L'application de JavaScript dans le monde réel comprend un développement frontal et back-end. 1) Afficher les applications frontales en créant une application de liste TODO, impliquant les opérations DOM et le traitement des événements. 2) Construisez RestulAPI via Node.js et Express pour démontrer les applications back-end.

Les principales utilisations de JavaScript dans le développement Web incluent l'interaction client, la vérification du formulaire et la communication asynchrone. 1) Mise à jour du contenu dynamique et interaction utilisateur via les opérations DOM; 2) La vérification du client est effectuée avant que l'utilisateur ne soumette les données pour améliorer l'expérience utilisateur; 3) La communication de rafraîchissement avec le serveur est réalisée via la technologie AJAX.

Comprendre le fonctionnement du moteur JavaScript en interne est important pour les développeurs car il aide à écrire du code plus efficace et à comprendre les goulots d'étranglement des performances et les stratégies d'optimisation. 1) Le flux de travail du moteur comprend trois étapes: analyse, compilation et exécution; 2) Pendant le processus d'exécution, le moteur effectuera une optimisation dynamique, comme le cache en ligne et les classes cachées; 3) Les meilleures pratiques comprennent l'évitement des variables globales, l'optimisation des boucles, l'utilisation de const et de locations et d'éviter une utilisation excessive des fermetures.

Python convient plus aux débutants, avec une courbe d'apprentissage en douceur et une syntaxe concise; JavaScript convient au développement frontal, avec une courbe d'apprentissage abrupte et une syntaxe flexible. 1. La syntaxe Python est intuitive et adaptée à la science des données et au développement back-end. 2. JavaScript est flexible et largement utilisé dans la programmation frontale et côté serveur.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

Dreamweaver Mac
Outils de développement Web visuel

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code