Zang Chengwei: レスポンシブアーキテクチャの実践に基づく Meituan Dianping のクライアント

Zang Chengwei: レスポンシブアーキテクチャの実践に基づく Meituan Dianping のクライアント

[51CTO.comからのオリジナル記事] 最近、51CTOの記者は、Meituan-DianpingのiOS技術専門家であるZang Chengwei氏と独占インタビューを行い、Meituan-Dianpingクライアントのレスポンシブアーキテクチャの実践について議論しました。

【講師プロフィール】

[[224876]]

Zang Chengwei 氏、Meituan シニア iOS テクニカル エキスパート

Zang Chengwei は、Meituan-Dianping の上級 iOS 技術専門家です。 2012年よりモバイルインターネットに携わり、Androidカーネルカスタマイズの研究開発やiOSアプリケーション開発に従事。 2013年にCSDNに入社し、Ruby on Railsフレームワークのフルスタック開発を学び始めました。 2014 年に Baidu にシニア エンジニアとして入社。2015 年 3 月に Meituan Dianping iOS チームに入社。

近年、モバイル クライアントのビジネスの複雑さが増し、モバイル クライアントで処理されるロジックが基本的に非同期ロジックになったため、多数の非同期状況を処理し、状態を減らし、宣言的な方法を使用して要件を満たすコードを記述するためのより優れた形式が必要になりました。応答性はこれらの非同期の問題を解決するのに役立つため、応答性の高い開発手法はますます多くの開発者に受け入れられています。

レスポンシブアーキテクチャに基づくMeituan Dianping iOSクライアントの誕生

Meituan Dianping iOS チームは、ReactiveCocoa (RAC) 機能レスポンシブ ライブラリを使用した中国初のチームの 1 つです。 Zang Chengwei 氏は、2015 年に Meituan Dianping に入社して以来、社内外で RAC の使用方法と原則に関する指導とトレーニングを積極的に提供してきました。

しかし、2年以上の開発を経て、Meituan-Dianping iOSチームは、チーム全体が関数型レスポンシブプログラミングの学習に多大な投資をしすぎており、デバッグのコストも大きすぎることに気づきました。

Zang Chengwei 氏は、関数型プログラミングと関数型レスポンシブ プログラミングに関する長年の理解と分析に基づいて、オブジェクト指向プログラミングはエンジニアリングにとって最もシンプルで受け入れやすいものであるが、レスポンシブ機能も必要であると考えています。そこで、通常のオブジェクト指向設計を使用してレスポンシブなライブラリを実装するというアイデアが生まれました。

レスポンシブ ライブラリ EasyReact が構築された後、それをより有効に活用し、理解と学習のコストを削減するために、Zang Chengwei 氏はチームを率いてレスポンシブ MVVM フレームワークである EasyMVVM を開発しました。

レスポンシブアーキテクチャの簡単な紹介

まず、アーキテクチャの最下層では、OOP ベースのレスポンシブな基本ライブラリ EasyReact のセットが提供されます。グラフ データ構造を使用して有向巡回グラフを構築します。ノードの値が変更されると、それがすべてのエッジに伝播し、それによって他のノードの値も変更されます。同時に、各ノードは 1 対多の関係でリスナーに関連付けられます。値が変化すると、リスナーは非同期的にフィードバックを取得できるため、応答の問題が解決されます。同時に、2 つのレベル間の基本的な結合関係を確立することもできます。

しかし、EasyReact だけでは十分ではありません。完全な MVVM フレームワークがその上に構築されない場合、開発者が全体的なアイデアを持つことは困難になります。したがって、上位の垂直階層化フレームワーク EasyMVVM を使用すると、すべてのロジックを各レベルに配置でき、それぞれの責任を持たせることができます。

アーキテクチャを構築する過程で遭遇した困難について話す際、Zang 氏は、新しいレスポンシブな基本ライブラリ EasyReact を構築するのは、下位層に位置し、他の依存関係がないため、実際にはそれほど難しくないと述べました。ただし、その上位フレームワークである EasyMVVM を構築する際には、View 層のニーズを満たすために、既存の UIKit フレームワークに依存する必要があります。 UIKit の多数の API はデリゲート モデルに基づいてカプセル化されていますが、これはレスポンシブ プログラミングの前方宣言の概念とは正反対です。

この問題を解決するために、Meituan Dianping iOS チームは、デリゲートに基づかないいくつかの新しい UI コンポーネントをカプセル化し、すべてのユーザーに宣言型インターフェースを提供しました。同時に、継承よりも組み合わせの形でコンポーネントのモジュール化ソリューションも提供し、これにより、誰もが異なるビジネス ロジックを分離し、再利用の目的を達成することが容易になります。

建築:ビジネスのために生まれた

***、Zang先生は、制作、ユーザーの使用、オンライン収集という3つの側面から、アーキテクチャの研究開発の方向性について話しました。

制作の観点から見ると、アーキテクチャの研究開発の方向性は、自動生成とビジュアルプログラミング、見たままが得られる、などです。

ユーザーの使用の観点から見ると、アーキテクチャの研究開発の方向性は、動的な展開とホット アップデート機能です。

オンライン収集の観点から、アーキテクチャの研究開発方向は、動的追跡、自動追跡などです。

[51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください]

<<:  分散ロックの複数の実装

>>:  iSoftStone、Huawei CloudをベースとしたスマートシティAPaaSソリューションをリリース

推薦する

ウォルト・ディズニーが AWS を優先パブリッククラウドインフラストラクチャプロバイダーとして選択

[51CTO.com オリジナル記事] 2017 年 11 月 29 日、AWS は本日、ディズニー...

ロングテールキーワード運用に関する考察

キーワードマイニングは何度も行っているようです。一般的な方法は、Baidu のツール、Baidu 関...

オンラインプロモーション:市場での入札「成功か失敗かは小和にかかっている」

近年、オンラインプロモーションをいち早く取り入れた中小企業が、その恩恵を享受しています。世の中には予...

オラクル、ブラジルに2番目のクラウドリージョンを開設

[51CTO.com クイック翻訳] オラクルは先週の水曜日、ブラジルで2番目のクラウドリージョンが...

kvmla: 香港 CN2/日本ソフトバンク/シンガポール CN2、500M 帯域幅 VPS は月額 60 元から、専用サーバーは月額 280 元から

老舗サーバー業者kvmla(2011年~)が現在プロモーションを実施しており、VPS/クラウドサーバ...

Baiduに登録された日からウェブサイトのSEOを見てみましょう

Baidu の登録日に問題があると聞いていましたが、実際に見たことはありませんでした。このようなこと...

クラウド マネージド サービス プロバイダーが企業のイノベーションを推進する 5 つの方法

今日、ますます多くの企業が IT 資産をパブリック クラウドに移行しています。これはなぜでしょうか?...

怠け者のためのSEO: コンテンツ構築が重要

SEO に関しては、私はかなり怠け者だと認めざるを得ません。 SEO ウェブマスターとして、私が怠け...

モバイルウェブサイトを最適化するには、SEOREはこれらの詳細に注意を払う必要があります。

月収10万元の起業の夢を実現するミニプログラム起業支援プランモバイルインターネットの急速な発展とモバ...

クラウド コンピューティングがグローバルなデジタル変革を推進する方法

クラウド コンピューティングは企業にとって独特の課題を提示しますが、全体として、クラウド コンピュー...

ダブル11の電子商取引ライブストリーミングが「グループバトル」に突入

ダブル11の先行販売初日、各プラットフォームのトップキャスターによる商品持ち込み競争が熾烈となり、初...

Joomla ウェブサイトを最適化するための 11 の簡単な手順を共有します

CMS システム管理の選択肢として Joomla を選択した場合、あなたは「幸運な」ウェブマスターで...

企業がインターネットで足場を築きたい場合、

現在、企業のマーケティング手法はオンライン プラットフォームにますます傾いており、一部の企業では従来...

ヤブリでのジャック・マー氏のスピーチ全文:電子商取引は伝統的な既得権益を破壊する

2月22日夜のニュース、アリババグループ会長ジャック・マー氏は「2013ヤブリ中国企業家フォーラム」...