Maison > développement back-end > Golang > Le langage go peut-il être utilisé pour écrire l'Internet des objets ?

Le langage go peut-il être utilisé pour écrire l'Internet des objets ?

青灯夜游
Libérer: 2023-01-06 10:37:05
original
5441 Les gens l'ont consulté

Vous pouvez écrire. Dans le domaine de l'Internet des objets, Golang peut être utilisé pour accéder et gérer efficacement des millions d'appareils ; les diverses technologies de pointe de Golang peuvent être utilisées pour analyser les données en temps réel et créer des rapports de données. Les raisons d'utiliser Golang pour développer la plate-forme Internet des objets : 1. Les trois auteurs de Go sont très compétents ; 2. Les performances de Go sont juste derrière C/C++ 3. La mise en route est très rapide et la plupart des programmeurs le peuvent ; démarrez dans 1 à 2 semaines ; 4. Il a de bonnes caractéristiques de concurrence ; 5. Il est compatible avec un grand nombre de périphériques matériels ; 6. Il a un bon support communautaire ; 7. Il peut aider les développeurs à accélérer avec un code propre ;

Le langage go peut-il être utilisé pour écrire l'Internet des objets ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.

Si votre budget est relativement petit, vous pouvez d'abord envisager d'utiliser Golang. Les fonctionnalités de concurrence et les excellentes performances de Golang permettent d'utiliser pleinement le matériel existant, contrairement à Java et Python, qui entraînent une certaine quantité de gaspillage et vous obligent à dépenser plus d'argent.

Dans le domaine de l'Internet des objets, Golang peut être utilisé pour accéder et gérer efficacement des millions d'appareils. Et utilisez les différentes technologies de pointe de Golang pour analyser les données en temps réel et créer des rapports de données.

Voici les raisons pour lesquelles nous avons choisi Golang pour développer le système IoT ThingsPanel :

Fondateur

Les trois auteurs de Go sont : Rob Pike, Ken Thompson et Robert Griesemer.

Rob Pike : était membre de l'équipe Unix des Bell Labs et du projet de système d'exploitation Plan 9. Il a travaillé avec Thompson pendant de nombreuses années et a co-créé le codage de caractères UTF-8, largement utilisé.

Ken Thompson : Principalement l'auteur des langages B et C et le père d'Unix. Lauréat du prix Turing en 1983 et de la médaille nationale de la technologie en 1998. Lui et Dennis Ritchie sont les créateurs originaux d'Unix. Thompson a également inventé le langage de programmation B, dérivé plus tard du langage C.

Robert Griesemer : A été un contributeur majeur à Google V8, Chubby et HotSpot JVM avant de développer Go.

Les performances sont juste derrière C/C++

GoLang est un langage compilé qui peut être compilé en code machine, et le binaire compilé peut être directement déployé sur la machine cible sans dépendances supplémentaires. Les performances sont meilleures que celles des langages interprétés.

L'image ci-dessous est un test. Il semble que la vitesse de Golang soit toujours très puissante.

Le langage go peut-il être utilisé pour écrire lInternet des objets ?

Comparaison des performances des langages courants (Auteur de l'image : Je ne veux pas cultiver)

Si vous avez des exigences plus élevées, vous pouvez également intégrer du code C dans le programme Go afin de pouvoir l'utiliser de nombreuses bibliothèques puissantes de C Tool.

La mise en route est très rapide et la plupart des programmeurs peuvent démarrer en 1 à 2 semaines.

Les programmeurs PHP passent à Golang et peuvent commencer à corriger les bugs en 2 jours. Après quelques semaines, vous pourrez commencer à travailler plus normalement.

Lorsque vous communiquez avec divers membres du personnel technique, demandez-leur combien de temps il vous faudra pour passer de PHP ou Java à Golang. La plupart des réponses durent 1 à 2 semaines, ce qui est également vrai.

Fonctionnalités de concurrence

C'est probablement la fonctionnalité la plus appréciée de GoLang. Il peut tirer pleinement parti des capacités multicœurs. GoLang utilise des goroutines pour obtenir la concurrence et fournit un système de planification de goroutines très élégant qui peut facilement générer des millions de goroutines. L'utilisation de la pile peut également être étendue/rétrécie de manière dynamique, ce qui rend l'utilisation de la mémoire plus intelligente. Ceci est différent des threads Java, qui permettent généralement uniquement la création de milliers de threads.

Compatible avec un grand nombre de périphériques matériels.

Différentes architectures de processeur sont prises en charge, qu'il s'agisse d'un serveur X86 ou d'un périphérique ARM Edge, il peut être directement compilé en code machine et le déploiement est complété par l'ajout d'un fichier.

Un utilisateur de 52PHP a déclaré sur son blog cnblogs : Grâce à une compilation croisée super simple, il suffit de modifier les variables d'environnement. (Il m'a fallu deux jours pour compiler une imagemagick sur la plateforme arm).

Si vous possédez de nombreux appareils Edge, Golang est un bon choix.

Bien sûr, certaines personnes disent que Java et PHP sont également disponibles. Le problème est que vous pouvez également livrer de la nourriture sur un âne. Le problème est la lenteur !

Bon soutien de la communauté.

Sans une prédication experte, les novices n’auront pas de maître pour les guider. Sans partage, l’apprentissage devient encore plus difficile. Golang bénéficie d'un bon soutien communautaire.

Popularité des langages de programmation sur Stack Overflow, le plus grand site Web de questions et réponses techniques au monde :

Le langage go peut-il être utilisé pour écrire lInternet des objets ?

Cité de : Classement des langages de programmation 2021, Auteur : Xiaoxin vous emmène apprendre la programmation

Vous pouvez trouver les informations, vous demandez une question et quelqu'un y répondra pour vous. C'est très important dans le développement.

Aidez les développeurs à accélérer avec un code propre.

« Clean architecture » est un concept proposé par Robert C. Martin (Oncle Bob) en 2012 après avoir résumé l'architecture système existante.

Dans l'article, l'architecture épurée qu'il propose est la suivante :

  • Indépendant du framework. L'architecture ne repose pas sur l'existence d'une bibliothèque logicielle riche en fonctionnalités. Cela vous permet d'utiliser une grande variété de frameworks comme outils.
  • Testable. Les règles métier peuvent être testées sans interface utilisateur, base de données, serveur Web ou tout autre élément externe (tel que des services RPC tiers).
  • Indépendant de l'interface utilisateur. L'interface utilisateur peut être facilement modifiée sans avoir à modifier d'autres parties du système. Par exemple, l'interface utilisateur Web peut être remplacée par une interface console sans qu'il soit nécessaire de modifier les règles métier.
  • Indépendant de la base de données. Vous pouvez remplacer Oracle ou SQL Server par Mongo, BigTable, CouchDB
    ou autre chose. Vos règles métier ne sont pas liées à la base de données.

Indépendant de toute agence externe (couche externe dans l'image ci-dessous). En fait, vos règles métier ne connaissent rien du monde extérieur.

Le langage go peut-il être utilisé pour écrire lInternet des objets ?

L'idée générale dans l'image est que la direction de la dépendance ne peut être que de l'extérieur vers l'intérieur. En d’autres termes, le cercle extérieur dépend du cercle intérieur et le cercle intérieur ne peut pas dépendre de l’extérieur. La dénomination et le formatage des données dans la couche externe ne peuvent pas affecter la couche interne.

Ces règles et conventions simples garantissent que le système est toujours facile à comprendre, facile à développer et facile à entretenir.

Le cas est convaincant

À l'exception du fameux Docker, il est entièrement implémenté avec GO. Kubernetes, le système de gestion d'orchestration de conteneurs le plus populaire du secteur, est entièrement implémenté dans GO. Le Docker Swarm qui a suivi a été entièrement implémenté dans GO. De plus, il existe divers projets célèbres, tels que etcd/consul/flannel, Qiniu Cloud Storage, etc., tous implémentés à l'aide de GO. Certaines personnes disent que la raison pour laquelle le langage GO est célèbre est qu'il a rattrapé l'ère du cloud. Mais pourquoi ne pas le dire autrement ? C’est aussi le langage GO qui favorise le développement du cloud.

En plus des projets cloud, il existe également des entreprises comme Toutiao et UBER, qui ont également utilisé le langage GO pour reconstruire complètement leurs activités.

【Recommandations associées : Tutoriel vidéo Go, Enseignement de la programmation

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal