Partage
  • Partager sur Facebook
  • Partager sur Twitter

Framework

Physiquement c'est quoi ? Le quelle choisir ?

    22 juillet 2019 à 8:03:37

    Bonjours,

    J'ai déjà posté cette question en prenant soin de n'omettre aucun détails parce que j'ai du mal à expliqué mon soucie au gens. Mais je pense que j'y suis aller un peu fort, vue que mon poste fessait 3klm de long..

    Je vais donc essayé de vous expliqué plus brièvement ma question...

    Je voudrais savoir où ce trouvent "physiquement" les frameworks ?
    Je ne suis pas très calé dans le sujet, je pense avoir compris qu'un framework c'est une liste de fonction près programmé que on appel en programmation "orienté objet" si je dis pas de bêtise ?

    Quand je fait du POO en php, par exemple, je sait que il y a un plugin php sur le serveur ou seront effectué les requêtes ou sur MAMP en local ?

    Mais pour les framework comme Ionic, react native, etc.. j'ai survolé les présentation de cour mais je ne comprend pas où sont stocké les fichier du framework ?

    Si on créer une application mobile avec Ionic par exemple ou ce trouve la librairie de Ionic ?

    Pendant la création pour faire les testes mais aussi celle une fois l’application créer ?
    Toute la librairie est ele stocké directement dans l'application ? cela n'alourdi pas trop la taille du fichier APK ?


    Voila, question toute simple désolé si je ne suis pas très claire et merci à tous ceux qui prendront le temps de me lire ou de me répondre. bonne soiré.

    -
    Edité par JordySuzon 28 juillet 2019 à 4:27:30

    • Partager sur Facebook
    • Partager sur Twitter
    Mon écriture est mauvaise, je le sait. Je fait des effort, alors merci de ne pas en faire des hors sujet.
      28 juillet 2019 à 4:28:37

      Désolé de up, ce message je l'ai édité comme il n'était pas très claire.
      Je ne suis même pas certain de me trouvé dans la bonne section du forum si ce n'est pas le cas je m'en excuse.
      • Partager sur Facebook
      • Partager sur Twitter
      Mon écriture est mauvaise, je le sait. Je fait des effort, alors merci de ne pas en faire des hors sujet.
        28 juillet 2019 à 10:00:02

        Salut,

        J'avais vu ta question, j'avais meme commencé à répondre, mais c'était trop long, trop complexe, ça partait dans tous les sens.

        Rien que la question : où se trouve-t-il physiquement ? Ben ça dépend. Ils peuvent être embarqués sur un serveur où embarqué directement dans le logiciel. Ça dépend principalement de ce que tu fais comme app.

        Pour ionic les fichiers seront stockés en local, dans le projet. Quand tu fais un ionic start il te créé tout le projet, et tous les fichiers sont là. Je n'ai jamais utilisé react native mais c'est certainement la même chose.

        Ensuite le code est compilé donc il n'existe plus vraiment de "framework". La machine se fout que telle partie soit tel ou tel framework. Alors oui, il est embarqué dans l'application, mais sous une autre forme.

        Concernant la taille de l'apk ou de l'ipa, je ne sais pas. Mais ionic n'étant que du js dans une webview, je pense pas que ça pèse bien lourd à la compilation. Contrairement à react native.

        Après il existe aussi des frameworks qui donnent des outils sans révolutionner la création d'une app. Tu peux avoir un framework qui fait de la comparaison de date mais on reste sur le même langage. Ça évite juste de refaire certaines fonctions soi même.

        • Partager sur Facebook
        • Partager sur Twitter
          30 juillet 2019 à 21:05:11

          Geda a écrit:

          Salut,

          J'avais vu ta question, j'avais meme commencé à répondre, mais c'était trop long, trop complexe, ça partait dans tous les sens.

          Rien que la question : où se trouve-t-il physiquement ? Ben ça dépend. Ils peuvent être embarqués sur un serveur où embarqué directement dans le logiciel. Ça dépend principalement de ce que tu fais comme app.

          Pour ionic les fichiers seront stockés en local, dans le projet. Quand tu fais un ionic start il te créé tout le projet, et tous les fichiers sont là. Je n'ai jamais utilisé react native mais c'est certainement la même chose.

          Ensuite le code est compilé donc il n'existe plus vraiment de "framework". La machine se fout que telle partie soit tel ou tel framework. Alors oui, il est embarqué dans l'application, mais sous une autre forme.

          Concernant la taille de l'apk ou de l'ipa, je ne sais pas. Mais ionic n'étant que du js dans une webview, je pense pas que ça pèse bien lourd à la compilation. Contrairement à react native.

          Après il existe aussi des frameworks qui donnent des outils sans révolutionner la création d'une app. Tu peux avoir un framework qui fait de la comparaison de date mais on reste sur le même langage. Ça évite juste de refaire certaines fonctions soi même.

          Merci Geda pour votre réponse,

          J'y vois un peu plus claire, je me douté un peu que cela fonctionné de cette manière mais je préféré l'entendre plutôt que de simplement l'imaginé.

          Si cela ne vous dérange pas j'aurai encore quelques points d'ombres à éclaircir mais je ne voudrais pas abusé de votre temps..
          Je vais donc essayer de vous listé brièvement les questions qu'il me restes...

          • Quand vous parlé de 'compilé' le code je supposent que cela signifie que le framework disparait pour laissai place au code de basse ? en gros cela signifie que si je programme en javascript je fait une commande avec le framework qui lui traduit cette commande en javascript ? pour que je n'est pas directement à écrire toute la commande ? ou un framework qui tourne sous javascript peut être compilé dans un autre langage qui n'a rien à voir avec celui de base ?
          • .
          • Pour le boostrap par exemple j'ai déjà eu à modifié des sites web (je ne connais pas le boostrap) mais j'ai modifié des lignes de code et je vois que le fichier est dans un dossier à part et que les commandes sont appelés comme des class directement dans le fichier boostrap cela signifie que pour ce framework le code n'est pas compilé ?
          • .
          • Quand vous dite que vous "compilé" le code, vous vouliez dire que les framework disposent d'un logiciel qui sert à les compilé pour qu'il créer des fichier APK ? Je pensais que les frameworks n'étais que des langages et non des programme/logiciel je me suis trompé ?

            Voila mes quelques questions désolé si j'ai oublié ou n'ait pas compris certaines choses, je suis encore un peu dans le flou...

            Encore merci de votre précédente réponse et bonne soiré à vous.

          -
          Edité par JordySuzon 30 juillet 2019 à 21:09:02

          • Partager sur Facebook
          • Partager sur Twitter
          Mon écriture est mauvaise, je le sait. Je fait des effort, alors merci de ne pas en faire des hors sujet.
            31 juillet 2019 à 10:52:31

            J'aurais du mal à répondre point par point. Dans un premier temps, c'est important de faire la différence entre un langage interprété et un langage compilé.

            Un langage interprété est compréhensible par la machine et est exécuté directement. Un langage compilé ne peut pas pas être compris par la machine, on a besoin d'un compilateur qui va transformer le code dans un truc plus bas niveau (pas lisible pour l'humain).

            Il est existe un troisième type de langage : ce sont les langages transpilés. Ça revient à compiler mais ça ne produit pas du code machine, ça produit du code avec à peu près le même niveau d'abstraction.

            Quelques exemples de langages compilés : Java, C, Swift, Kotlin

            Quelques exemples de langages interprétés : PHP, JS, Shell, Python

            Quelques exemples de langages transpirés : AngularJS, TypeScript

            Du coup, dans toutes tes questions tu prends JS en exemple pour comprendre la compilation mais c'est une impasse. Le JS n'est pas compilé.

            Ionic te permet de coder en HTML / JS. Le code est ensuite transpilé en Objective-C. Et enfin il est compilé en bitcode pour tourner sur iOS (c'est différent pour Android, je connais pas le process)

            Sinon, un framework n'est pas forcément un langage. C'est le cas, effectivement, pour TypeScript qui est ensuite transpilé en JS. Mais, comme je l'ai dit avant, tu pourrais avoir une librairie qui te fait de la comparaison de date, écrite directement en JS (Je fais pas de web donc j'ai pas d'exemple concret à te donner). Ce serait un ensemble de fichier JS que tu mettrais dans ton code ou que tu téléchargerais à la volée via un mdn. Tu ne saurais pas ce qu'il y a dedans, juste comment l'utiliser.

            Si je prend quelque chose que je connais plus, en Swift tu as SwiftDate (https://github.com/malcommac/SwiftDate) qui comprend un ensemble de fichier (dans Sources/SwiftDate) et tu n'as pas besoin de connaitre ces fichiers pour te servir de la librairie. Il suffit de lire la doc et on peut voir par exemple qu'on peut faire let _ = date.compare(.isToday) la méthode compare est donc dans cette librairie, en local, dans le même langage que le reste du code. Et elle sera compilée en même temps que le reste du code.

            AngularJS qui est un autre framework JS, utilise le TypeScript. Il donne juste d'autres outils, ce n'est pas un nouveau langage (même si la syntaxe est particulière. Mais à ce moment il faut définir ce qu'est un langage et on rentre dans un débat dont je vois pas le bout)

            -
            Edité par Geda 31 juillet 2019 à 10:52:59

            • Partager sur Facebook
            • Partager sur Twitter
              1 août 2019 à 5:09:01

              Geda a écrit:

              J'aurais du mal à répondre point par point. Dans un premier temps, c'est important de faire la différence entre un langage interprété et un langage compilé.

              Un langage interprété est compréhensible par la machine et est exécuté directement. Un langage compilé ne peut pas pas être compris par la machine, on a besoin d'un compilateur qui va transformer le code dans un truc plus bas niveau (pas lisible pour l'humain).

              Il est existe un troisième type de langage : ce sont les langages transpilés. Ça revient à compiler mais ça ne produit pas du code machine, ça produit du code avec à peu près le même niveau d'abstraction.

              Quelques exemples de langages compilés : Java, C, Swift, Kotlin

              Quelques exemples de langages interprétés : PHP, JS, Shell, Python

              Quelques exemples de langages transpirés : AngularJS, TypeScript

              Du coup, dans toutes tes questions tu prends JS en exemple pour comprendre la compilation mais c'est une impasse. Le JS n'est pas compilé.

              Ionic te permet de coder en HTML / JS. Le code est ensuite transpilé en Objective-C. Et enfin il est compilé en bitcode pour tourner sur iOS (c'est différent pour Android, je connais pas le process)

              Sinon, un framework n'est pas forcément un langage. C'est le cas, effectivement, pour TypeScript qui est ensuite transpilé en JS. Mais, comme je l'ai dit avant, tu pourrais avoir une librairie qui te fait de la comparaison de date, écrite directement en JS (Je fais pas de web donc j'ai pas d'exemple concret à te donner). Ce serait un ensemble de fichier JS que tu mettrais dans ton code ou que tu téléchargerais à la volée via un mdn. Tu ne saurais pas ce qu'il y a dedans, juste comment l'utiliser.

              Si je prend quelque chose que je connais plus, en Swift tu as SwiftDate (https://github.com/malcommac/SwiftDate) qui comprend un ensemble de fichier (dans Sources/SwiftDate) et tu n'as pas besoin de connaitre ces fichiers pour te servir de la librairie. Il suffit de lire la doc et on peut voir par exemple qu'on peut faire let _ = date.compare(.isToday) la méthode compare est donc dans cette librairie, en local, dans le même langage que le reste du code. Et elle sera compilée en même temps que le reste du code.

              AngularJS qui est un autre framework JS, utilise le TypeScript. Il donne juste d'autres outils, ce n'est pas un nouveau langage (même si la syntaxe est particulière. Mais à ce moment il faut définir ce qu'est un langage et on rentre dans un débat dont je vois pas le bout)

              -
              Edité par Geda il y a environ 17 heures

              Merci de votre réponse, je dois vous avouer que je suis encore un peu dans le flou il y a beaucoup d'expressions utilisés dans votre poste que je ne connais pas..

              Je pense avoir compris un peu le principe donc si je résume et que je ne dis pas de bêtises il existe 3 sortes de langages :

              Langages compilés : Java, C, Swift, Kotlin, En gros c'est langage sont passé à la moulinette par un "compilateur" qui les transforment en un espèce de code binaire ou langage machine mais je me demande quelle est le nom du langage machine qui en résulte ? et aussi le "compilateur" c'est une sorte de programme/logiciel qui nous est fournie par les créateur du langage ? en gros pour java on trouve leurs compilateur sur leurs site ? :o 

              Langages interprétés : PHP, JS, Shell, Python : Cela signifie que de leurs coté ces langages sont interprétés directement par des "plugins" ou logiciel qui leurs sont propres ? Donc aucune compilation le code est simplement lus par sont logiciel qui traite les commande à effectuer c'est çà ?

              Langages transpirés : AngularJS, TypeScript : Si j'ai bien compris les langage "transpirés" il sont des langage qui ne peuvent êtres compilés directement, ils doive donc êtres "transpirés" ce qui signifie qu'il sont convertie en un langage qui lui pourra être compilé ?

              Voilà.... Je suis vraiment nul désolé du temps perdu j'éspere que je suis pas EXTRÊMEMENT à coté de la plaque je sens que j'ai du dire des bêtises mais rasuré moi je suis près de la vérité ou j'ai tout mal compris ? :euh:

              -
              Edité par JordySuzon 1 août 2019 à 5:10:42

              • Partager sur Facebook
              • Partager sur Twitter
              Mon écriture est mauvaise, je le sait. Je fait des effort, alors merci de ne pas en faire des hors sujet.
                1 août 2019 à 9:12:57

                Pour le code compilé il existe plusieurs langages destination. Ça dépend du compilateur. Ça peut être du bytecode ou de l’assembleur par exemple. Il existe plusieurs compilateurs pour le Java. Et oui ce sont des logiciels qui peuvent être téléchargés. Après... ça dépend de la licence du compilateur. Ce code machine est ensuite assemblé pour donné du code binaire lisible pour la machine. C’est une étape intermédiaire.

                Pour les langages interprétés : c’est ça. Il y a sûrement des particularités Mais je ne les connais pas.

                Pour les langages transpilés (et non transpires. Correction auto) c’est ca. Cependant ce n’est pas forcément traduit dans un langage compilés. Le TypeScript est transpilé en JS qui est interprété. Un langage interprété peut être transpilé en un langage compilé et vice versa. Uun langage compilé peut aussi être transpilé vers un autre langage compilé. C’est plus une technique qu’un type de langage en définitive.

                Abus de langage de ma part : angular n’est pas un langage

                • Partager sur Facebook
                • Partager sur Twitter

                Framework

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown