Convertir un code type scripte en java scripte

Fermé
Prototypeninja Messages postés 5 Date d'inscription jeudi 30 juillet 2020 Statut Membre Dernière intervention 26 janvier 2021 - 26 janv. 2021 à 22:55
 Mythos - 27 janv. 2021 à 00:21
Bonsoir a vous.
Je viens solliciter votre aide pour m'aider a transformer le code de l'exemple de cette librairie react-native-find-local-devices qui est en type Scripte et fais en composant fonctionnel en java scripte en composant de class.

lien de la librairie:
https://github.com/RichardRNStudio/react-native-find-local-devices#readme
A voir également:

1 réponse

Salut,
houla quels mélanges...et erreurs vous faites.

TypeScript (sans "e" à la fin et tout attaché) c'est bien une bibliothèque JavaScript(sans "e" à la fin et tout attaché).
Tout comme React.

Des bibliothèques JavaScript sont écrites en JavaScript.
Il est donc plus simple d'écrire directement le JavaScript dont vous avez besoin ou d'utiliser les bibliothèques(des scripts écrits en JavaScript et qui propose leurs propres fonctions et leurs propres règles d'écritures).

D'ailleurs dans quel but voulez vous faire de TypeScript du pur JavaScript(sans bibliothèque externe)?
L'avantage de ces bibliothèques étant que celles ci sont déjà écrites faire l'un à partir de l'autre n'a aucun sens.
TypeScript va proposer une syntaxe plus simple pour les fonctions (de sa bibliothèque= du fichier JavaScript nommé TypeScript) et formaliser un typage des données.

Quant aux classes(d'objets) elles existent bel et bien en JavaScript et même de plusieurs façons, par contre elle ne sont pas obligatoires dans ce langage.

Voici quelques façons de les faire:
avec le mot clé class
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Classes

En notation Objet JSON
var MaClasse={
attribut1:'valeur',
attribut2:true,
attribut3:42,
attribut4:{objetAutreAttribut1:'une autre valeur', objetAutreAttribut2:false}
}



avec une fonction renvoyant un objet
function ClasseVoiture(marque, modele, couleur){
return {brand:marque, model:modele,color:couleur}
}

on voit pour le dernier exemple que la notation JSON est encore utilisée.
Rien n'empêche d'utiliser Object.create() qui a très peu de variations mais est bien plus compliqué à écrire.

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/create

Ou alors en utilisant le constructeur, ce qui revient à se baser sur des objets déjà existants, donc plus dans le cadre de l'héritage d'objet(s).

https://www.pierre-giraud.com/javascript-apprendre-coder-cours/constructeur-object-prototype-heritage/

Si l'approche par le constructeur est plus en accord avec la logique interne de JavaScript elle présente d'autres inconvénients que la simple complexité d'écriture. Par exemple d'avoir des attributs internes à redéfinir ainsi que leur visibilité(privée ou publique).

Pour en revenir à ce que vous avez en tête c'est à partir d'un morceau de script JavaScript qui fait appel à un autres fichiers(d'autres fonctions ou objets, la différence est faible dans la plupart des langages de script) il faut simplement décortiquer le fichier des fonctions pour en tirer la substance et récrire la partie qui vous intéresse.
C'est assez souvent compliqué et inutile puisqu'il suffit de le faire soi même avec les possibilités de JavaScript et surtout pas envisageable dans le cadre d'un environnement de développement tel que celui offert par React qui à son propre environnement(objets, variables, valeurs, syntaxe, exécution/interprétation).

Bref ce que vous voulez ça reviendrais à démonter une voiture pour copier comment la portière fonctionne et le reproduire.

Pour React le fait qu'il puisse utiliser TypeScript implique qu'il faut qu'il y ait TypeScript.

https://www.typescriptlang.org/docs/handbook/react.html

Cela veut dire que React écrit en JavaScript utilise une autre bibliothéque JavaScript(TyppeScript), ou plutôt peut le faire.

Si vous voulez utiliser React alors il faut utiliser React(charger les librairies et mettre en place son environnement).
Si par compte vous voulez du pur JavaScript(ou vanilla JS) vous devez vous passer de ce que React(ou n'importe quelle autre librairie/framework) peut vous apporter et développer l'ensemble vous même.
Si la démarche revient plus ou moins à inventer l'eau chaude ça peut se comprendre pour l'écriture d'un script aussi trivial que de détecter le navigateur et environnement de l'internaute. Un script suffit, tandis qu'intégrer une bibliothèque complète c'est lourd à charger et nécessite d'apprendre à utiliser la bibliothèque (syntaxe, règles, environnement d'exécutions de ses objets et valeurs etc...).
Pour n'en citer qu'une il y a JQuery qui crée une boucle d'exécution, renvoie des valeurs qui peuvent être chaînés(programmation fonctionnelle) et ajoute tout un tas de fonctionnalités sans avoir à les écrire en s'appuyant sur un environnement d’objets prédéfinis (exemple : l'objet JQuery abrégé en signe $).

La "boucle" JQuery (en fait l'événement qui indique que la page est formée et perdure dans ce contexte, programmation événementielle)
https://api.jquery.com/ready/

On comprends bien l'intérêt et la popularité des bibliothèques JavaScript, elle permettent d'avoir à se passer de développer soi même tout un tas de choses qui permettent des tâches routinières et d'utiliser le script déjà écrit.
Forcément ça implique un cadre donné, des situations données(à quoi sert React par exemple).

Donc soit ça correspond au cadre de ce que l'on veut faire soit ça n'y correspond pas et on passe à une autre biblio ou on fait tout à partir de zéro.

Explications détaillées ici:

https://edutechwiki.unige.ch/fr/Biblioth%C3%A8ques_JavaScript

React rentre dans le cadre de bibliothèques spécifiques(c'est employé dans un cadre bien précis), ce que j'ai appelé le cadre.
0