Tencent hat ziemlich viele Open-Source-Projekte. Auf Github(https://github.com/Tencent) gibt es 50 Open-Source-Projekte.

1. Android-Hotfix-Framework Tinker
Tinker ist WeChats offizielle Android-Hot-Patch-Lösung. Sie unterstützt das dynamische Ausliefern von Code, SO-Bibliotheken und Ressourcen, sodass Anwendungen aktualisiert werden können, ohne neu installiert werden zu müssen. Natürlich kannst du Tinker auch verwenden, um deine Plugins zu aktualisieren.
Es umfasst hauptsächlich die folgenden Teile:
- Gradle-Kompilierungsplugin: tinker-patch-gradle-plugin
- Kern-SDK-Bibliothek: tinker-android-lib
- Kommandozeilenversion für Nicht-Gradle-Benutzer: tinker-patch-cli.jar
Quellcode-Adresse:https://github.com/Tencent/tinker
Dokumentationsadresse:https://github.com/Tencent/tinker/wiki

2. Plattformübergreifende WeChat-Client-Komponente Mars
Mars ist die offizielle Basiskomponente für Endgeräte von WeChat. Sie ist eine geschäftsunabhängige, plattformunabhängige, in C++ geschriebene Basiskomponente. Sie wurde in WeChat-Clients wie Android, iOS, Mac, Windows, WP und UWP integriert.Hinweis: Derzeit werden nur die Plattformen Android, iOS, Mac und Windows unterstützt. Andere Plattformen werden in nachfolgenden Versionen bald unterstützt.
Es umfasst hauptsächlich die folgenden Teile:
- Comm: Basisbibliothek, einschließlich Socket, Threads, Nachrichtenwarteschlangen, Coroutinen und anderer grundlegender Werkzeuge.
- Xlog: Allgemeines Log-Modul, das die Eigenschaften mobiler Endgeräte vollständig berücksichtigt und Log-Funktionen mit hoher Leistung, hoher Verfügbarkeit, Sicherheit und Fehlertoleranz bereitstellt.
- SDT: Netzwerkdiagnosemodul.
- STN: Modul für das Signalisierungsübertragungsnetz, verantwortlich für den Small-Data-Signalisierungskanal zwischen Endgeräten und Servern. Es enthält eine Fülle von Optimierungserfahrungen und -erfolgen der WeChat-Clients in mobilen Netzwerken und wurde von der riesigen Nutzerbasis von WeChat getestet.
Quellcode-Adresse:https://github.com/Tencent/mars
Dokumentationsadresse:https://github.com/Tencent/mars/wiki

3. Komponentenbasiertes Entwicklungsframework wepy für Mini-Programme
WePY ist ein Framework, das es Mini-Programmen ermöglicht, komponentenbasierte Entwicklung zu unterstützen. Durch Präkompilierung ermöglicht es Entwicklern, ihren bevorzugten Entwicklungsstil zu wählen, um Mini-Programme zu erstellen. Die detaillierten Optimierungen des Frameworks und die Einführung von Promise und Async Functions dienen alle dem Ziel, Mini-Programm-Entwicklungsprojekte einfacher und effizienter zu machen.
Während der Entwicklung orientierte sich das WePY-Framework an einigen Syntaxstilen und funktionalen Merkmalen bestehender Frameworks wie Vue, kapselte das native Mini-Programm-Entwicklungsmodell neu, näherte sich dem MVVM-Architekturmuster an und unterstützt einige neue Funktionen von ES6/7.
Quellcode-Adresse:https://github.com/Tencent/wepy
WePY-Homepage:https://tencent.github.io/wepy/
Dokumentationsadresse:https://tencent.github.io/wepy/document.html#/
WePY-Ressourcenübersicht:https://github.com/aben1188/awesome-wepy

4. Leichtgewichtiges Hochleistungs-Hybrid-Framework VasSonic
VasSonic ist nach der Sega-Spielfigur Sonic the Hedgehog benannt. Es ist ein leichtgewichtiges, hochleistungsfähiges Hybrid-Framework, das vom VAS-Team von Tencent (SNG Value-Added Products Department QQ Membership) entwickelt wurde und sich auf die Verbesserung der First-Screen-Ladegeschwindigkeit von Seiten konzentriert. Es unterstützt statische Direct-Output-Seiten und dynamische Direct-Output-Seiten perfekt und ist mit Offline-Paket-Lösungen kompatibel.
Derzeit nutzen Geschäftsbereiche wie QQ Membership, QQ Game Center, QQ Personalization Mall, QQ Shopping, QQ Wallet und Penguin Esports es bereits. Die täglichen PV liegen bei über 120 Millionen (nur Daten innerhalb von Mobile QQ gezählt), und die durchschnittliche First-Screen-Ladezeit der Seite liegt unter 1 Sekunde.
Quellcode-Adresse:https://github.com/Tencent/VasSonic
Dokumentationsadresse:https://github.com/Tencent/VasSonic/wiki
| Abbildung 1: Vor Verwendung des Sonic-Modus | Abbildung 2: Nach Verwendung des Sonic-Modus |
|---|---|
![]() |
![]() |
5. Front-End-Entwicklungstool des WeChat-Teams WeFlow
WeFlow ist ein effizientes, leistungsstarkes und plattformübergreifendes Front-End-Entwicklungs-Workflow-Tool.Derzeit unterstützt es Front-End-Build-Arbeiten für Drittanbieter-Partnerteams von Projekten wie WeChat Games, WeChat Moments Ads und WeChat City Services. Wenn Sie eher an Kommandozeilen-Bedienung gewöhnt sind, können Sie direkt den Kern von WeFlow verwenden: tmt-workflow, entwickelt auf Basis von Gulp :).
Quellcode-Adresse:https://github.com/Tencent/WeFlow
Offizielle Website:https://weflow.io/
6. Mobiles Datenbank-Framework WCDB
WCDB ist ein effizientes, vollständiges und benutzerfreundliches mobiles Datenbank-Framework auf Basis von SQLCipher, das iOS, macOS und Android unterstützt.Grundlegende Funktionen:
- Einfache Nutzung: WCDB unterstützt das Abrufen von Daten und deren Zusammenfassen zu einem Objekt mit nur einer Codezeile.
- Hohe Leistung: WCDB erzielt eine effizientere Leistung durch Optimierungen auf Framework-Ebene und im SQLCipher-Quellcode.
- Vollständig: WCDB deckt erforderliche Funktionen für verschiedene datenbankbezogene Szenarien ab.
Quellcode-Adresse:https://github.com/Tencent/wcdb
Dokumentationsadresse:https://github.com/Tencent/wcdb/wiki

7. Machine-Learning-Framework Angel basierend auf dem Parameter-Server-Konzept
Angel ist eine hochleistungsfähige verteilte Machine-Learning-Plattform, die basierend auf dem Parameter-Server-Konzept entwickelt wurde. Sie wurde anhand massiver interner Daten von Tencent wiederholt optimiert und besitzt breite Anwendbarkeit und Stabilität. Je höher die Modelldimension, desto deutlicher der Vorteil. Angel wurde gemeinsam von Tencent und der Peking-Universität entwickelt und vereint die hohe Verfügbarkeit der Industrie mit der Innovationskraft der Wissenschaft.
Angels zentrales Designkonzept dreht sich um Modelle. Es teilt hochdimensionale große Modelle sinnvoll auf mehrere Parameter-Server-Knoten auf und implementiert durch effiziente Modellaktualisierungsschnittstellen und Operationsfunktionen sowie flexible Synchronisationsprotokolle mühelos verschiedene effiziente Machine-Learning-Algorithmen.
Angel wurde auf Basis von Java und Scala entwickelt, kann direkt auf dem YARN der Community eingeplant und ausgeführt werden und unterstützt basierend auf dem PS Service Spark on Angel. In Zukunft wird es Graph-Computing und die Integration von Deep-Learning-Frameworks unterstützen.
Quellcode-Adresse:https://github.com/Tencent/angel
Dokumentationsadresse:https://github.com/Tencent/angel

8. Automatisches Tool zur Erkennung von Speicherlecks MLeaksFinder
MLeaksFinder ist ein von Tencent Open-Source-veröffentlichtes automatisches Tool zur Erkennung von Speicherlecks für die iOS-Plattform. Nach der Einführung von MLeaksFinder können während der täglichen Entwicklung und Fehlersuche von Geschäftslogik Speicherlecks automatisch erkannt und gemeldet werden.
Entwickler müssen keine zusätzlichen Tools wie Instruments öffnen und auch keine zusätzlichen Prozesse ausführen, um Speicherlecks zu finden. Da Entwickler außerdem Speicherlecks entdecken können, sobald sie nach dem Ändern von Code die relevante Geschäftslogik ausführen, können sie schnell erkennen, wo das Problem im Code liegt. Diese rechtzeitige Erkennung von Speicherlecks senkt die Kosten für die Behebung von Speicherlecks erheblich.
Es bietet die folgenden Funktionen:
- Erkennt automatisch Speicherlecks und Szenarien, in denen Speicher nicht rechtzeitig freigegeben wird.
- Erstellt die Referenzkette geleakter Objekte relativ zum ViewController, um Entwicklern zu helfen, Probleme zu lokalisieren.
- Greift nicht in die Geschäftslogik ein; wirkt sofort nach der Einführung, ohne Änderung von Code oder Importieren von Header-Dateien.
Quellcode-Adresse:https://github.com/Tencent/MLeaksFinder
Blog des WeRead-Teams:http://wereadteam.github.io/

9. UI-Bibliothek WeUI
WeUI ist eine UI-Bibliothek, die vom offiziellen Designteam von WeChat speziell für mobile Webanwendungen von WeChat entwickelt wurde. WeUI ist eine Reihe grundlegender Stilbibliotheken, die mit der nativen visuellen Erfahrung von WeChat übereinstimmen und für die WeChat-Webentwicklung zugeschnitten sind, wodurch die Wahrnehmung des Benutzers vereinheitlicht wird. Sie umfasst Elemente wie button, cell, dialog, toast, article, icon und mehr.Quellcode-Adresse:https://github.com/Tencent/weui
Dokumentationsadresse:https://github.com/Tencent/weui/wiki
Quellcode der Mini-Programm-Version:https://github.com/Tencent/weui-wxss/
Online-Beispiele:https://weui.io/

10. Verteilter Backend-Service-Engine MSEC
Die Millisecond Service Engine (MSEC) wurde vom QQ-Team von Tencent als Open Source veröffentlicht. Sie ist eine Backend-DEV&OPS-Engine, die RPC, Namenssuche, Lastverteilung, Monitoring, Release und Kapazitätsmanagement umfasst. Die Millisecond Service Engine bietet folgende Funktionen:
- Der Zugriff zwischen Modulen erfolgt über RPC, sodass Entwickler sich nicht um Netzwerk- und Nachrichtenformate kümmern müssen und verteilte Dienste entwickeln können, als würden sie eigenständige Programme schreiben.
- Automatische Lastverteilung und Fehlertoleranz; behandelt automatisch Bedingungen wie Einzelmaschinenausfälle und lokale Netzwerkschwankungen und sorgt für hohe Dienstverfügbarkeit.
- Unterstützt die Sprachen C/C++/Java/PHP. Wird C/C++ gewählt, werden Koroutinen unterstützt, wodurch Entwicklungs- und Laufzeiteffizienz kombiniert werden.
- Webbasierte Verwaltungsschnittstelle.
- Einfache Bereitstellung: Server, die eine komplexe Bereitstellung erfordern, werden mithilfe von Docker-Images installiert.
- Im Vergleich zu Lösungen, die aus anderen Open-Source-Komponenten zusammengestückelt sind, ist die Millisecond Service Engine systematischer und weist eine gründlichere Teamstandardisierung auf.
Quellcode-Adresse:https://github.com/Tencent/MSEC
Offizielle Website:http://msec.qq.com/


