Tencent tiene bastantes proyectos de código abierto; en Github(https://github.com/Tencent) hay 50 proyectos de código abierto.

1. Marco de reparación en caliente para Android: Tinker
Tinker es la solución oficial de parches en caliente para Android de WeChat. Admite la entrega dinámica de código, bibliotecas So y recursos, lo que permite que las aplicaciones se actualicen sin necesidad de reinstalarlas. Por supuesto, también puedes usar Tinker para actualizar tus complementos.
Incluye principalmente las siguientes partes:
- Complemento de compilación de Gradle: tinker-patch-gradle-plugin
- Biblioteca SDK principal: tinker-android-lib
- Versión de línea de comandos para usuarios que no compilan con Gradle: tinker-patch-cli.jar
Dirección del código fuente:https://github.com/Tencent/tinker
Dirección de documentación:https://github.com/Tencent/tinker/wiki

2. Componente multiplataforma para el cliente de WeChat: Mars
Mars es un componente base de terminal oficial de WeChat, un componente base escrito en C++ independiente del negocio y de la plataforma. Actualmente se ha integrado en los clientes de WeChat para Android, iOS, Mac, Windows, WP, UWP, etc.Nota: actualmente solo admite las plataformas Android, iOS, Mac y Windows; las demás plataformas serán compatibles pronto en versiones posteriores.
Incluye principalmente las siguientes partes:
- Comm: biblioteca base, incluye herramientas básicas como sockets, hilos, colas de mensajes y corutinas.
- Xlog: módulo de registro general, que considera plenamente las características de los terminales móviles y proporciona funciones de registro de alto rendimiento, alta disponibilidad, seguridad y tolerancia a fallos.
- SDT: módulo de diagnóstico de red.
- STN: módulo de red de transmisión de señalización, responsable del canal de señalización de datos pequeños entre el terminal y el servidor. Contiene una gran cantidad de experiencia y logros de optimización del terminal de WeChat en redes móviles, y ha pasado la prueba de la enorme base de usuarios de WeChat.
Dirección del código fuente:https://github.com/Tencent/mars
Dirección de documentación:https://github.com/Tencent/mars/wiki

3. Framework de desarrollo por componentes para miniprogramas: wepy
WePY es un framework que permite el desarrollo por componentes en miniprogramas. Mediante la precompilación, permite a los desarrolladores elegir el estilo de desarrollo que prefieran para crear miniprogramas. La optimización de los detalles del framework y la incorporación de Promise y Async Functions tienen como objetivo hacer que el desarrollo de proyectos de miniprogramas sea más sencillo y eficiente.
Durante su desarrollo, el framework WePY tomó como referencia algunos estilos de sintaxis y características funcionales de frameworks existentes como Vue, y reencapsuló el modo de desarrollo de los miniprogramas nativos, acercándose más al patrón de arquitectura MVVM, además de admitir algunas de las nuevas características de ES6/7.
Dirección del código fuente:https://github.com/Tencent/wepy
Página principal de WePY:https://tencent.github.io/wepy/
Dirección de documentación:https://tencent.github.io/wepy/document.html#/
Resumen de recursos de WePY:https://github.com/aben1188/awesome-wepy

4. Framework híbrido ligero y de alto rendimiento: VasSonic
VasSonic debe su nombre a Sonic, el personaje de los juegos de Sega. Es un framework híbrido ligero y de alto rendimiento desarrollado por el equipo VAS de Tencent (QQ VIP del Departamento de Productos de Valor Agregado de SNG), centrado en mejorar la velocidad de carga de la primera pantalla de las páginas. Es totalmente compatible con páginas de renderizado directo estáticas y dinámicas, y compatible con soluciones como paquetes sin conexión.
Actualmente, servicios como QQ VIP, QQ Game Center, QQ Personalization Mall, QQ Shopping, QQ Wallet y Penguin Esports ya lo están utilizando, con más de 120 millones de PV diarios (solo estadísticas dentro de la versión móvil de QQ), y el tiempo promedio de carga de la primera pantalla es inferior a 1 segundo.
Dirección del código fuente:https://github.com/Tencent/VasSonic
Dirección de documentación:https://github.com/Tencent/VasSonic/wiki
| Figura 1: Antes de usar el modo Sonic | Figura 2: Después de usar el modo Sonic |
|---|---|
![]() |
![]() |
5. Herramienta de desarrollo frontend del equipo de WeChat: WeFlow
WeFlow es una herramienta de flujo de trabajo de desarrollo frontend eficiente, potente y multiplataforma.Actualmente admite el trabajo de construcción frontend para equipos colaboradores externos en proyectos como WeChat Games, WeChat Moments Ads y WeChat City Services. Si prefieres operar desde la línea de comandos, puedes usar directamente el núcleo de WeFlow: tmt-workflow, desarrollado sobre Gulp :) .
Dirección del código fuente:https://github.com/Tencent/WeFlow
Sitio web oficial:https://weflow.io/
6. Framework de base de datos móvil: WCDB
WCDB es un framework de base de datos móvil eficiente, completo y fácil de usar. Basado en SQLCipher, es compatible con iOS, macOS y Android.Características básicas:
- Fácil de usar: WCDB permite extraer datos y combinarlos en un objeto con una sola línea de código.
- Eficiente: WCDB ofrece un rendimiento más eficiente mediante la optimización de la capa de framework y el código fuente de SQLCipher.
- Completo: WCDB cubre las funciones necesarias para diversos escenarios relacionados con bases de datos.
Dirección del código fuente:https://github.com/Tencent/wcdb
Dirección de documentación:https://github.com/Tencent/wcdb/wiki

7. Framework de aprendizaje automático basado en el concepto de servidor de parámetros: Angel
Angel es una plataforma distribuida de aprendizaje automático de alto rendimiento desarrollada bajo el concepto de servidor de parámetros (Parameter Server). Ha sido ajustada repetidamente sobre la base de los datos masivos internos de Tencent, y posee una amplia aplicabilidad y estabilidad; cuanto mayor es la dimensionalidad del modelo, más evidente es su ventaja. Angel ha sido desarrollado conjuntamente por Tencent y la Universidad de Pekín, teniendo en cuenta tanto la alta disponibilidad industrial como la innovación académica.
El concepto central de diseño de Angel gira en torno al modelo. Divide de forma razonable los grandes modelos de alta dimensionalidad en múltiples nodos de servidores de parámetros y, mediante interfaces eficientes de actualización de modelos, funciones de cálculo y protocolos de sincronización flexibles, implementa fácilmente diversos algoritmos eficientes de aprendizaje automático.
Angel está desarrollado en Java y Scala, puede programarse y ejecutarse directamente en Yarn de la comunidad y, basándose en PS Service, admite Spark on Angel. En el futuro admitirá la integración con frameworks de cálculo de grafos y aprendizaje profundo.
Dirección del código fuente:https://github.com/Tencent/angel
Dirección de documentación:https://github.com/Tencent/angel

8. Herramienta de detección automática de fugas de memoria: MLeaksFinder
MLeaksFinder es una herramienta de detección automática de fugas de memoria para la plataforma iOS, de código abierto de Tencent. Al incorporar MLeaksFinder, se pueden detectar y advertir automáticamente las fugas de memoria durante el desarrollo diario y la depuración de la lógica de negocio.
Los desarrolladores no necesitan abrir herramientas adicionales como Instruments, ni ejecutar procesos adicionales para buscar fugas de memoria. Además, dado que el desarrollador puede detectar las fugas de memoria tan pronto como ejecuta la lógica de negocio correspondiente tras modificar el código, puede darse cuenta rápidamente de en qué parte del código está el problema. Esta detección oportuna de fugas de memoria reduce en gran medida el costo de corregirlas.
Tiene las siguientes características:
- Detecta automáticamente escenarios de fugas de memoria y liberación no oportuna.
- Construye la cadena de referencias del objeto con fugas en relación con ViewController para ayudar a los desarrolladores a localizar el problema.
- No invade la lógica de negocio; surte efecto al introducirlo, sin necesidad de modificar ningún código ni incluir archivos de cabecera.
Dirección del código fuente:https://github.com/Tencent/MLeaksFinder
Blog del equipo WeRead:http://wereadteam.github.io/

9. Biblioteca de UI: WeUI
WeUI es una biblioteca de UI diseñada por el equipo de diseño oficial de WeChat específicamente para aplicaciones Web móviles de WeChat. WeUI es un conjunto de estilos básicos coherente con la experiencia visual nativa de WeChat, diseñado a medida para el desarrollo Web de WeChat, que hace que la percepción de uso de los usuarios sea más uniforme. Incluye varios elementos como button, cell, dialog, toast, article, icon, etc.Dirección del código fuente:https://github.com/Tencent/weui
Dirección de documentación:https://github.com/Tencent/weui/wiki
Código fuente de la versión para miniprogramas:https://github.com/Tencent/weui-wxss/
Ejemplos en línea:https://weui.io/

10. Motor de servicios backend distribuidos: MSEC
El Motor de servicios de milisegundos (MSEC) es de código abierto del equipo QQ de Tencent. Es un motor de DEV&OPS para backend que incluye RPC, búsqueda de nombres, balanceo de carga, monitoreo, publicación y gestión de capacidad. Características del motor de servicios de milisegundos:
- El acceso entre módulos utiliza RPC; los desarrolladores no necesitan preocuparse por la red ni el formato de los mensajes, y pueden desarrollar servicios distribuidos como si escribieran programas independientes.
- Balanceo de carga y tolerancia a fallos automáticos; responde automáticamente ante fallos de una máquina individual o fluctuaciones de red locales, proporcionando alta disponibilidad del servicio.
- Admite los lenguajes C/C++, Java y PHP. Si se elige C/C++, admite corutinas, combinando eficiencia de desarrollo y de ejecución.
- Interfaz de administración basada en Web
- Implementación sencilla; los servidores que requieren una implementación compleja se instalan mediante imágenes de Docker.
- En comparación con las soluciones formadas combinando otros componentes de código abierto, el motor de servicios de milisegundos es más sistemático y ofrece una estandarización más adecuada para el equipo.
Dirección del código fuente:https://github.com/Tencent/MSEC
Dirección oficial:http://msec.qq.com/


