DUICUO

テンセントのWeChatとモバイル開発向けオープンソースプロジェクトトップ10

テンセントは多くの価値あるプロジェクトをオープンソース化しています。テンセントのオープンソースプロジェクトトップ10を見てみましょう。

1. Android ホットフィックスフレームワーク「Tinker」

TinkerはWeChat公式のAndroidホットパッチソリューションです。コード、SOライブラリ、リソースの動的配布をサポートし、再インストールなしでアプリケーションを更新できます。もちろん、Tinkerを使ってプラグインを更新することもできます。

主に以下の部分が含まれます。

  • Gradle ビルドプラグイン: tinker-patch-gradle-plugin
  • コア SDK ライブラリ: tinker-android-lib
  • Gradle を使用しないユーザー向けのコマンドライン バージョン: tinker-patch-cli.jar (詳細: https://github.com/Tencent/tinker)

2. WeChatクライアントのクロスプラットフォームコンポーネントであるMars

MarsはWeChatの公式端末インフラコンポーネントであり、現在Android、iOS、Mac、Windows、WP向けのWeChatクライアントに統合されています。主に以下のコンポーネントで構成されています。

  • comm: ソケット、スレッド、メッセージ キュー、コルーチンなどを含む、独立して使用できるパブリック ライブラリ。
  • Xlog ソフトウェア: 高い信頼性と高性能を備えたログ記録コンポーネント。
  • SDT: ネットワーク診断コンポーネント
  • STN:Signaling Distribution Networkモジュール。Marsの最も重要な部分でもあります。(図を参照。詳細はhttps://github.com/Tencent/marsをご覧ください)

3. WeChatミニプログラム用のコンポーネントベースの開発フレームワーク「Wepy」

WePYは、WeChatミニプログラムのコンポーネントベース開発を可能にするフレームワークです。プリコンパイル機能により、開発者は好みの開発スタイルを選択できます。フレームワークの詳細な最適化、Promiseと非同期関数の導入は、ミニプログラムプロジェクトの開発をよりシンプルかつ効率的にするように設計されています。

WePYは進化を続けるフレームワークであり、様々なフロントエンド最適化ツールやフレームワークの設計原則やアイデアを積極的に取り入れています。WePYに何か欠点や改善点がございましたら、お気軽にIssueまたはプルリクエストをご提出ください。

特性:

  • Vueのような開発スタイル
  • カスタムコンポーネント開発をサポート
  • NPM パッケージのインポートをサポート
  • サポートの約束
  • 非同期関数などのES2015+機能をサポート
  • Less/Sass/Stylus、Babel/Typescript、Pug などの複数のコンパイラをサポートします。
  • ファイル圧縮、画像圧縮、コンテンツの置換など、さまざまなプラグイン処理をサポートします。
  • Sourcemap、ESLintなどをサポートします。
  • リクエストキューイングやイベント最適化などのミニプログラムの最適化(詳細:https://github.com/Tencent/wepy)

4. 軽量・高性能ハイブリッドフレームワークVasSonic

VasSonicは、Tencent QQ Member VASチームによって開発された軽量で高性能なハイブリッドフレームワークです。ページのファーストスクリーン読み込み速度の向上に重点を置き、静的および動的ページレンダリングの両方をサポートし、オフラインパッケージやその他のソリューションとの互換性を備えています。

VasSonicを統合することで、ユーザーのホームページからアプリを開く際に、アプリの初期化中にページリソースへの並列リクエストが可能になり、同時に読み込みとレンダリングも実行できるようになります。ユーザーのホームページ外からアプリを開く場合、アプリは前回の起動時に動的にキャッシュされたページリソースを素早く読み込み、その後ページを動的に更新することができます。Tencent Mobile QQは、VasSonicフレームワークを通じて、最初の画面の平均ページ読み込み時間を1秒未満に抑えています。(アドレス: https://github.com/Tencent/VasSonic)

5. WeChatチームのフロントエンド開発ツール、WeFlow

これは、tmt-workflow フレームワークをベースにした、高性能で強力なクロスプラットフォーム (macOS および Win) フロントエンドツールです。(詳細: https://github.com/weixin/WeFlow)

6. モバイルデータベースフレームワーク WCDB

WCDB は、SQLCipher をベースにした高性能で完全かつ使いやすいモバイル データベース フレームワークであり、iOS、macOS、Android をサポートしています。

[[221638]]

基本的な特徴:

  • WCDB は使いやすく、たった 1 行のコードでデータを抽出し、それをオブジェクトに結合することができます。
  • 高効率: WCDB は、フレームワーク層と SQLCipher ソース コードの最適化を通じてパフォーマンスを最適化します。
  • WCDBは完全かつ包括的であり、さまざまなデータベース関連のシナリオに必要な機能をカバーしています。(詳細: https://github.com/Tencent/wcdb)

7. パラメータサーバのコンセプトに基づいた機械学習フレームワーク「Angel」

Angelは、パラメータサーバーのコンセプトに基づいて開発された高性能分散機械学習プラットフォームです。テンセント社内の膨大なデータを用いて繰り返し最適化されており、幅広い適用性と安定性を誇ります。モデルの次元数が増えるほど、そのメリットはさらに顕著になります。テンセントと北京大学が共同開発したAngelは、産業界の高可用性と学術界の革新性を両立しています。

AngelはJavaとScalaで開発されており、コミュニティのYarnプラットフォーム上で直接スケジュール設定・実行でき、PS ServiceベースのSpark on Angelをサポートしています。将来的には、グラフコンピューティングやディープラーニングフレームワークとの統合も計画されています。(詳細: https://github.com/Tencent/angel)

8. 自動メモリリーク検出ツール「MLeaksFinder」

MLeaksFinderは、Tencentが開発したiOSプラットフォーム向けのオープンソース自動メモリリーク検出ツールです。MLeaksFinderを使用することで、日常的な開発やビジネスロジックのデバッグ中にメモリリークを自動的に検出し、警告を発することができます。MLeaksFinderには以下の機能があります。

  • メモリ リークやタイミングの悪いメモリ解放のシナリオを自動的に検出します。
  • ViewController を基準としたリークしているオブジェクトの参照チェーンを構築すると、開発者が問題を特定しやすくなります。
  • ビジネス ロジックに干渉せず、組み込むとすぐに有効になり、コードの変更やヘッダー ファイルの組み込みは必要ありません (詳細: https://github.com/Tencent/MLeaksFinder)

9. UIライブラリWeUI

WeUIは、WeChat公式デザインチームがWeChatモバイルウェブアプリケーション向けに特別に設計したUIライブラリです。WeUIは、WeChatのネイティブビジュアルエクスペリエンスと一貫性のある基本スタイルライブラリであり、WeChatウェブ開発向けにカスタマイズされているため、より統一されたユーザーエクスペリエンスを実現します。ボタン、セル、ダイアログ、トースト、記事、アイコンなど、様々な要素が含まれています。(詳細: https://github.com/weixin/WeUI)

10. 分散バックエンドサービスエンジン MSEC

ミリ秒サービスエンジン(MSEC)は、Tencent QQチームによってオープンソース化されています。RPC、名前検索、負荷分散、監視、デプロイメント、キャパシティ管理を含むバックエンドDevOpsエンジンです。MSECの機能は以下のとおりです。

  • モジュール間のアクセスは RPC を介して実現されるため、開発者はネットワークやメッセージの形式を気にすることなく、単一マシンのプログラムを作成しているかのように分散サービスを開発できます。
  • 自動負荷分散とフォールト トレランスにより、単一マシンの障害や局所的なネットワークの変動に自動的に対応し、高いサービス可用性を実現します。
  • C/C++/Java/PHP言語をサポートしています。C/C++を選択した場合は、開発効率と実行効率のバランスをとるコルーチンをサポートします。
  • Webベースの管理インターフェース
  • シンプルなデプロイメントの場合、複雑なデプロイメントを必要とするサーバーは Docker イメージを使用してインストールされます。
  • 他のオープンソース コンポーネントを使用して組み立てられたソリューションと比較すると、ミリ秒サービス エンジンはより体系的で、より包括的なチーム ガイドラインを提供します。