Profondeur | conception globale Android et le sens derrière

Ali sur REVIEW: le vrai travail peut souvent entendre cet argument: la mise à jour pour améliorer l'accord-cadre apporte des performances, des changements dans la programmation de saut de mode apporter des affaires ...... Peu importe si ces déclarations il y a un problème, en fait, Si le système est de regarder la chose, il se trouve être le même. Avec LINUX par exemple, en dépit de son cur un grand succès, mais si elle n'a pas suivi Posix, et est devenu une open source, les implémentations simplifiées d'UNIX, il est difficile d'imaginer ce que sera son développement final. Par conséquent, certaines choses à l'échelle mondiale et enquête approfondie parfois plus instructive.

Aujourd'hui, Ali a avancé des experts en développement sans fil de combiner leurs années d'expérience, comme vous dans les détails de l'ensemble du domaine de la technologie mobile Android et le développement écologique, et nous nous réjouissons de discuter avec vous.

1. L'importance pratique de Android Design

l'importance de l'architecture est l'ingénierie: définir et résoudre une classe de problèmes, pour assurer une protection à la demande de réaliser une transition en douceur. Le sens traditionnel de l'architecture Android (Figure 1) a été connu, mais différents points de vue de différents personnages, tels que penser Runtime et cadre est le noyau, ou Android considéré comme une plate-forme JVM spécifique, ainsi que le départ de l'embarqué penser comme Linux ...... en fait, Android est conçu avec très peu de problèmes pour résoudre leur propre système de développement, le noyau est par abstraction matérielle, à base de composants, la couche d'interface trois capacités pour fournir une base pour le développement, et pour beaucoup mettre de côté un grand nombre de variables opérationnelles, l'espace de médiation.

Figure 1. Architecture traditionnelle Android

1.1 Le développement de la prémisse: abstraction matérielle

En 2008, la Chine est entrée à la veille de l'ère 3G, changer l'infrastructure de sorte que l'espace mobile est plein de variables, indépendamment de l'appareil, du matériel ou des logiciels ne sont pas finalisés. Spécialisé dans l'architecture et le logiciel de Google dans ce domaine pour survivre et le développement rapide, le besoin d'unir toute la force possible, même inconnue, a fait des opérateurs mobiles, fournisseurs de puces, le soutien des fabricants de téléphones mobiles est la première étape pour survivre .

Hardware Abstraction Layer (HAL) jouent un tel but dans une certaine mesure: il est l'espace mobile varié, les normes ne sont pas unifiés pilotes de matériel définissent des interfaces standards, afin d'éviter une dépendance excessive sur Android Linux, de sorte que l'expansion et l'intégration ultérieure de la machine plus efficace pour répondre les exigences importantes des fabricants de téléphones mobiles, mais aussi jouer le rôle d'isolement du noyau Linux, complète les fournisseurs de matériel afin d'éviter le secret du code source du conducteur sous l'influence de l'accord open-source GPL pour protéger les intérêts fondamentaux de puces et d'autres fabricants de matériel. Les procédés traditionnels de personnalisation et d'intégration OS de téléphone doivent changer beaucoup de code, beaucoup de la charge de ce point de vue Android HAL mène sa conception. Combiner les excellentes branches de code, le module de gestion de PSBA, couplé système de construction Android macros de formation à base GNU Automake, les fabricants aiment pratique que jamais.

Cependant, l'approche ne fixe HAL (fig. 2), avant Android 8.0, la première utilisation extensive du mode hérité HAL, la performance du cadre et chargé * dépend directement .donc, principalement dans le réseau, le module Bluetooth, mode hérité et le cadre principal interface pilote spécifique couplé trop serré, HAL plus tard formé la manière traditionnelle de fournir certaines spécifications et améliorations de l'interface, ce qui réduit le couplage direct, mais chaque support fournisseur nouveau Android a encore beaucoup de changement et d'adaptation, pour résoudre plus efficacement ce problème , Android 8.0 projet Treble ouvert, des fabricants de puces en fournissant une interface stable est basée sur HIDL Binder, le fabricant ne peut pas affecter directement les fabricants de puces à jour le cadre, même sans recompiler HAL peut obtenir des capacités d'OTA.

Figure 2. Driven Design matériel Android

HAL avantage de cette conception, Google gagne un soutien plus large dans le monde, en particulier Android 8.0 dans l'adaptation rapide des fabricants nationaux est évidente. HAL fournit la base pour le volume de l'appareil applications de croissance soutenue, et de promouvoir la résistance des fabricants à la partie supérieure du dispositif et de l'infrastructure les deux zones à développer en profondeur (figure 3), qui se reflète dans les fournisseurs de technologie de base (tels que Qualcomm, Huawei, MTK), de renforcer la construction des capacités du système grâce à la compétitivité continue (5G soutient les capacités matérielles standard, capacités Flex et système de personnalisation en profondeur, etc.), et les fabricants de téléphones mobiles ont des canaux et l'intégration des ressources avantages (Huawei, OPPO, millet, VIVO, etc.) , basé sur le système d'exploitation a continué de construire une application plus efficace pour étendre le territoire (UI, push, magasins, applications légères), ce qui reflète l'impact d'Android HAL et la cohésion de l'ensemble du secteur, indirectement, pour compenser de nombreuses lacunes Android lui-même.

Figure 3. Les tendances ont la compétitivité de base des entreprises

Hub 1.2 Capacité: base de composants

Capacité à organiser et comment l'architecture de réutilisation est le plus grand défi, en tirant parti des capacités existantes est un raccourci vers le développement. Que ce soit Mircosoft de COM ou CORBA de l'OMG, EJB ou de printemps, de SOA à Serverless, tels que la capacité de l'infrastructure réseau, la mise à niveau des équipements terminaux, le développement de ces technologies présente de légers poids, la paire centre (bus) à compter tendance légère fortement dépendante. Android entièrement intégré dans tous les domaines de la technologie de pointe, et sur cette base les plus caractéristiques finaux mobiles aux ressources limitées, formé ses propres caractéristiques techniques: AIDL dérivé de CORBA IDL complexe, des composants pour simplifier la SOA, chaque maladie individuelle et la mort semblable à un service système micro-services, liant peut être considéré comme une sorte de bus affaiblissant, de meilleures performances, DBUS peut pointer vers une communication point, le système de mise en page interface utilisateur est grandement affectée par la SWING, manifeste APP communique avec le système est en fait l'interface composant nécessaire profil ......

Compétence mentionné ci-dessus est en effet bénéfique pour le développement d'Android, mais pas assez. Prenant la parole devant le rappel HAL et l'architecture d'ensemble, on voit que Android est en fait un méli-mélo, en utilisant un mélange de nombreuses technologies. Le dernier ajout au Palm et d'autres OS Web, que les systèmes basés sur Linux / Unix construit comme Meego, ou Symbian, MTK, UCOS, WindowsCE, que ce soit le système en temps réel ou un système en temps non réel, ces systèmes terminaux mobiles avec C / C ++ - base et petite et maigre, utilisation de la mémoire et les exigences pour une grande élégance, bien que l'utilisation limitée des ressources pour répondre aux exigences du dispositif, mais le seuil a, des plates-formes de classe machine virtuelle tels que Kjava, .NET sur Windows Phone, bien que l'utilisation de la mémoire et la consommation d'énergie plus généreuse, mais gagne de l'efficacité R & D et la tolérance aux pannes, et donc accueillis par de nombreux développeurs.

Alors, choisissez l'architecture hybride pour le manque de chaîne industrielle complète supportant l'espace mobile Google est conforme à ses propres idées techniques, mais aussi la plus grande chance de gagner, donc des composants sur mesure capacités prendront cette mission, de sorte que les composants donnent une combinaison organique entre les applications et les applications et les systèmes de communication plus clairs et plus de contraintes, et en fin de compte aider l'ensemble de l'opération flexible du système, est la possibilité de zoomer rapidement.

Observation système applications début écoulement de fonctionnement (fig. 4) et l'utilisation de la capacité du système APP (Fig. 5), qui peut être trouvé dans divers types de la capacité d'assemblage a été organisé en conformité avec les normes et la taille (capacité trouvés enregistré, normalisé interface et la communication, l'isolement espace d'exécution, etc.), de sorte que l'itération rapide de matériel de téléphonie mobile et la capacité de continuer à améliorer le système afin de minimiser le coût de révéler la réutilisation et de maximiser la valeur des systèmes de béton sur les appareils mobiles, qui ont une plus grande flexibilité et compatible le sexe, ce qui signifie derrière ce logiciel a besoin de combler le fossé entre la conception, l'architecture et le développement de logiciels d'ingénierie pour résoudre les besoins de problème pour réaliser une transition plat.

Figure 4. Architecture processus système Android Résumé

Figure 5. capacités de l'appareil de voie d'appel typique

Il n'y a pas la même idée lorsque le cours sur l'histoire des autres entreprises confrontées à ces défis, tels que Windows Phone 8.0 ont choisi un autre chemin, que ce soit à fournir un cadre JAVA comparable de C # et VB.NET, ou Sliverlight propriété de dépendance + XAML système fondé sur l'interface utilisateur de ou même pour soutenir C ++ développé par C ++ / CX et un ensemble de l'exécution, comme si tout le temps faire étalage de leur diversification technologique du système et de la complexité, il peut être considéré comme une fête technologique.

Meego est un autre exemple, Nokia devrait permettre d'économiser en temps de crise, lancée conjointement par Intel, pour achever la construction du système, tel que Linux kernel + simulateur QEMU + QT + QML interface en combinant une variété de possibilités open-source, mais en fait vécu à court .

1.3 Application de la base - Couche d'interface

Les capacités du système de base en place, comment inaugurer un développement plus long terme des développeurs Android est critique. JAVA choisie comme langue supérieure, nécessite à la fois assez de courage et de mettre en évidence ses ambitions, Afin de répondre à ce domaine mobile de ressources limitées dans le passé, est maintenant les plus grands faits objectifs à l'avenir, la conception de l'architecture à base de registre, le fichier exécutable plus petite machine virtuelle Dalvik et d'obtenir de haute qualité grâce à l'ingénierie de la salle blanche, combinée avec beaucoup d'outils externes offre une surface lisse programmation JAVA, pour se débarrasser de téléphone similaire fonctionnalité de MTK ne peut écrire quelques petits jeux avec des limitations Kjava, rend le développement Android à la fois de confort et de bonne JAVA la performance.

Des accidents se produiront, SUN acquis par Oracle en Avril 2009, à partir d'Android 1.0 est sorti moins d'un an. Bien qu'initialement sélectionné pour fournir l'harmonie JAVA API Apache est très sage, mais a rencontré aucun support technique JAVA 7/8, poursuite Oracle après l'autre, et bien d'autres défis sur le droit d'auteur. En réponse à tout cela, Google Android N dès le départ, sera changé pour le soutien JAVA OpenJDK. En outre, étant donné que les Kotlin caractéristiques similaires, mais est également en classe compilé code octet ou dx, Google a également gagné la faveur et l'incorporation (fig. 6).

Figure 6. Niveau d'interface Android du passé et du futur

En fait, la raison pour laquelle osent Android de le faire, ou parce qu'il est en charge la base de la conception, selon la compréhension vulgaire que l'individu, à partir du lien d'appel (Figure 7) API Android peut être trouvé des indices: si la dépendance sous-jacente, et comment mettre en uvre les processus des changements dans les formes supérieures d'utilisation ne changeront pas.

Figure 7. Android appel interne à trois types de liens pour atteindre

Cela signifie que la quasi-totalité des capacités de base du système a été mis en uvre dans la bibliothèque native et épuisé, et combiné avec la bonne offre supérieure blindage. Cela offre la possibilité d'autres cadres de langue, en particulier, une caractéristique similaire au langage JAVA. Alors, quelle langue est un choix approprié en vertu Kotlin non seulement les spécifications pré-conçus.

Une utilisation future au lieu de la borne java figure peut Kotlin

2. Pour notre symbolique et pratique

En résumé, Android trois façons d'aborder les questions clés de son développement:

  • Les pilotes matériels: partenaires forment la base, et influencent à leur tour l'ensemble de l'industrie.
  • Componentization: organisation efficace de la capacité interne, cherchent leur propre développement plus rapide.
  • Interface couche: pour répondre aux exigences du système en utilisant une variété de capacités supérieures et matérielles.

Le développement de géants mobiles de l'industrie Internet en raison du point de départ différent et la mise en uvre du concept diffère, Apple construit son système tout entier autour de son App Store et bien entretenu, et la profondeur de chaque API dans le programme de modernisation, toute l'expérience, le champ vertical de la technologie tels que le réseau / algorithme avant-garde du domaine, Google ouvre la voie avec Android, la nécessité de maintenir la force et l'unité de caractéristiques différentes pour former leur propre développement à tous les niveaux. Donc, Android est de savoir comment développer le système fournit une autre réponse: en plus de développer leur propre capacité à se concentrer sur le système, comment maintenir une bonne base et condition sine qua non pour le développement du système, comment mieux utiliser le système exposé au monde extérieur et de la capacité est également crucial (voir Figure IX).

Apocalypse Figure 9. Android conçu pour résoudre le problème

Retour à notre propre, chez les gros consommateurs, l'interaction forte, qui est, les téléphones mobiles aujourd'hui des gens, nos produits ont des raisons de l'utiliser, il est également nécessaire d'étendre et d'élargir la connotation de la valeur du service. Pour ce faire, n'est pas facile. Tout d'abord, l'entreprise plus rapide et plus rapide itérations, grande variété d'applications émergentes demande de moyens middleware, d'autre part, l'environnement est en train de changer, que ce soit compliqué à exécuter une grande variété de matériel et de l'équipement, ou le groupe d'accueil de la diversité sont la fin originale de Ali côté énorme impact middleware, de nouveau, sur la base du développement technologique a ralenti aujourd'hui, la valeur des besoins technologiques pour se poursuivre pour agrandir, nous espérons que la base Pan-connexion en fonction de leur capacité à des services de construction et les entreprises, et dans le cadre de sa vision. Cela nous oblige à cibler des groupes en fonction de l'arrière-plan principal suivant et le développement du noyau de l'APP de penser à ce développement global (figure 10).

Figure 10. Réflexion sur la connectivité pan-construction

Inspiré par Android, combiné avec le statu quo et l'environnement, tout en répondant aux objectifs d'affaires de notre capacité réseau en constante évolution trois niveaux (figure 11).

  • Tout d'abord, le capot inférieur en ligne et hors ligne, tous les participants aux différentes formes d'appareils, et constamment créer des supports privés, communs efficaces protocoles standard, et fournit une partie spécifique du réseau de l'autre côté de l'extrémité et la capacité ne peuvent pas ou difficiles à fournir et nous aider à construire équipements Pan et les services, les utilisateurs et l'infrastructure de connectivité des entreprises.
  • D'autre part, dès le départ en bas à l'abstrait, le non-bloquant multiplexage IO, le réseau en mode utilisateur support de pile, d'accroître la capacité du canal et peut prendre en charge les clusters mixtes de l'architecture multi-instance pour une organisation efficace, afin de protéger le transfert des données et les exigences de gestion des niveaux déraisonnables .
  • Enfin, basée sur la construction des capacités du SDK de matrice et d'accès, nous avons réalisé l'accès aux services aux entreprises, l'objectif commercial de révéler à l'utilisateur, et apporter plus de valeur en fournissant une multitude de données.

Figure 11. Développement systématique de Pan-connectivité

Sur la base de ce qui précède des précipitations continues, maintenant, nous avons été en mesure de toucher quantité Tatsumi d'appareils et les utilisateurs à l'intérieur et à l'extérieur Ali devenir la plate-forme d'accès à l'interface et le service et le terminal et le service étaient blindés groupe d'équipement de la diversité et le pluralisme, pour atteindre un nouveau système de vente au détail connecter l'utilisateur la possibilité de faire un panoramique (Fig. 12).

Figure 12. L'équipe et se trouve dans la position du groupe

3. Résumé

Informations concept C / S, combinant serveur traditionnel obtenu à partir de chacun des terminaux de réseau, réseau + bouclier de spécification de protocole ou de l'extérieur de la diversité des services, ce qui rend le cluster de serveurs et le passé craint que haute concurrence, mais maintenant aussi bien la ou l'utilisation du nuage, tous derrière l'entreprise, la taille et le coût de l'effet marginal sur le disque, il y a la poussée intergénérationnelle du développement clair. Mais au client, en raison de l'impact direct sur l'environnement, telles que la diversité et l'interaction, même la nature dynamique de la technologie est difficile de représenter tout le côté même le courant dominant. Ainsi, une certaine concurrence des compétences d'arts martiaux local, ancien client d'une industrie « tendance ».

La technologie locale et la profondeur en un seul point a sa signification, j'ai eu quelques experts, comme manière non-interrogation pour obtenir la pile de téléphone Activité, face à la conception de cluster multi-instance complexe Un SDK Lite, chaud Sophix fixe et des produits sur le nuage . Mais la combinaison de l'expérience passée et la conception Android peut être look plus systématique à ce phénomène: qu'en plus de répondre aux exigences de l'activité de base (parce que beaucoup de ressources, il est nécessaire, il doit devenir, au moins Xiaocheng), nous devrions nous préoccuper de la façon dont la technologie peut mieux servir entreprise a continué capacités minières et la façon dont ces deux questions du fossé. Donc, pour construire et développer un bon système, en plus de la capacité à construire la colonne vertébrale de chaque système, la nécessité de maintenir une bonne condition sine qua non pour le développement du système, l'organisation cohérente de la capacité des systèmes pour répondre aux exigences de la bonne externe au système.

Ce sont la technologie de conception personnelle du système Android pour soutenir le développement du système un peu des vues superficielles, des attentes et des collègues de l'industrie à explorer.

Manchester United joue un équivalent de négatif à se rendre! Non seulement perdu dans le contrôle de la transmission, pas plus de buts derrière Manchester City
Précédent
Visite à la main « Mobius: Final Fantasy » débarqua recevoir gratuitement PC à vapeur Novembre
Prochain
Jiangxi modèles Isuzu 2018 mu-X, l'élevage Ranger a vendu 178,800 cas, résoudre les quatre taches lumineuses
Mettez en évidence le tempérament élégant et sobre! SEMA Auto Show sur 4 modèles Lexus personnalité
L'attaquant âgé de 31 ans a joué le remplacement le plus approprié! Hengda très chanceux de l'avoir, Cannavaro était plus disposé à le laisser partir
2 grandes peines merveilleux football d'aujourd'hui! Les joueurs de ligne et de chaîne ont été critiquées et ont refusé de mettre fin à une amende de 200000 euros
Le coupé SUV pas les seules valeurs de couleur pour gagner, il ......
A propos de l'enseignant: ne veulent pas courir dans une autre fusée! Malone: Moi aussi! Paul: J'ai gagné 5 points!
147 jours! La pénurie de balle de Wei a subi une chute, U23 football Jeux asiatiques coups de pied attaque le pays?
Absolument unique! BMW naseaux changer directement « les dents avant »?
Sheldon lune de miel marié, et le public des jeunes ont à dire au revoir - « Big Bang » en mai l'année prochaine toute la fin du jeu!
Manchester United brutalement humiliée, il suffit de saisir pas moins que la balle d'une demi-minute Manchester City! Mata ne pouvait pas aider mais freak sourire
Pendant 30 minutes, la livraison, ce sont des ingénieurs boîte de cheval « opération de Dieu »?
de plus grand blessé du football européen a annoncé sa retraite! Carrière professionnelle blessé 35 fois, manquant blessé 1935 jours