2018年、App StoreとGoogle Playは10歳になりました。 この10年の間に、小さなスタートアップから始まったいくつかのアプリケーションは、巨大なプロジェクトに成長しました-そして、彼らは多くの変革を乗り越え、多くのコーンを満たし、多くの教訓を学びました。
Mobius 2018 Moscowのビデオを開き、Habréのトップ10を公開しました(視聴者の評価による)。 また、一部の企業では、大企業で働いているスピーカーが、成長に伴う変化のみを説明しています。 他のトピックもあります。たとえば、ビデオの場合、コーデックとソケットのレベルに頻繁に行きますか?
リストのレポートの評価は高くなっています。したがって、最も愛される視聴者はテキストの最後になります。 また、トップ10のレポートに興味があり、含まれていない人のために、プレイリストへのリンクも提供しています。
モノレポ:旅に戻る。 Badooのモジュール化の歴史
プラットフォーム: iOS
スピーカー: アントン・シューキン
レポート発表
10位-まさに「成長の物語とそれに伴う経験」。 バドゥで
彼らは9年間iOSの開発に携わっており、この期間中に会社だけでなく、業界全体が変化しました(想像するのは難しいですが、ひとたびCocoaPodsがなければ人類は存在していました)。
Badooのリポジトリおよびプロジェクトの構造へのアプローチも大幅に変更されたことは驚くことではありません。これは、ポイントAからポイントBへの直線的な動きではありませんでした-1つのリポジトリから始まり、最終的には別のレベルに戻ることができます。 経路は何でしたか?また、それぞれの場合の変更の理由は何でしたか?
Androidアプリケーションで情報をキャッシュし、足元を撃たない方法
プラットフォーム: Android
スピーカー: Dmitry Vasiliev
レポート発表
キャッシングタスク(Androidを含む)は新しいものではないように思われますが、これから関連性が低下することはなく、そのエラーは作成を停止しないため、レポートは引き続き有用です。 さて、コンピューターサイエンスの2つの主な問題の1つがキャッシングに関連しているのは理由がないわけではありません!
レポートで取り上げられているキャッシュの種類:
- 遅延キャッシュ
- 同期キャッシュ
- ライトスルーキャッシュ
- LRUキャッシュ。
大規模なチームのモバイルアーキテクチャ
プラットフォーム: Android / iOS
スピーカー: アレクサンダー・ミハイロフ
レポート発表
Uberはおそらく世界で最も有名な「大規模なモバイルチーム」の例であり、何百人もの開発者が代名詞となっています。 驚くことではないが、同社は小さなチームが触れない困難に直面している。 同時に、Badooと同様に、彼女はスタートアップとしてモバイル開発に携わったため、現在の状態への道は長く、曲がりくねっていました。 いったいどのような困難に直面し、どのように対処しますか?
レポートから得られる実際的なメリットの量は、チームの規模と部分的に相関します。小さなチームで作業している場合、これは当面のタスクでは役に立たない可能性があります。 しかし、いずれにせよ、巨人がそこに持っているものは面白いです!
エラー処理のアーキテクチャ的アプローチ
プラットフォーム: Android / iOS
スピーカー: Dmitry Mikhailov
レポート発表
誰がエラー処理に対処したいですか? 私は、新しいシステムの細長いロックを作成し、何かがうまくいかなかった場合を台無しにしたくないです。 その結果、多くの場合、重要なトピックが注目されなくなります。
ただし、このレポートとアーキテクチャ上の問題を組み合わせることで、問題を新しい方法で見ることができます。エラーを適切に処理するには、各レイヤーに適したバランスのとれたシステムを構築するだけです。
Android用のよくできたMVIを調理する方法
プラットフォーム: Android
スピーカー: セルゲイリャボフ
レポート発表
アーキテクチャの名前が記載されているレポートからは、だれかが確実なUMLダイアグラムを期待できます。 そこには、スライド上に特定のコードがたくさんあります。 あまりにも多くの人が不満を言うほどです-たくさんの人が生きていると感じるのは難しいです。 しかし、ビデオを見るとき、一時停止ボタンがあるので、チョークではなく、「揚げたMVI」を部分的に使用して楽しむことができます。
Kotlin Puzzlers vol。 2
プラットフォーム: Android
スピーカー: アントン・ケクス
KotlinでIntパラメータに値-2_147_483_648.inc()を渡そうとするとどうなりますか? なんで? アントンは、Kotlinが明白な方法で動作しない場合を示し、最初に正しいオプションを推測することを提案し、次に何が起こっているかを説明します。
これは、言語の非自明な動作に関する彼の2番目のレポートです。これらのレポートの両方について、Habréでテキストバージョンを作成しました。したがって、ここでは、表示するだけでなく読むこともできます。
ベアソケットとコーデックの上でビデオをストリーミングおよび再生する
プラットフォーム: Android / iOS
スピーカー: アレクサンダー・トボルとイヴァン・グリゴリエフ
OKでのビデオコンテンツの消費は膨大であり、OK Liveの登場によりストリーミングが追加されました。 モバイル開発で、彼らが「標準的なプレーヤーを手に入れてそれを手放す」よりもはるかに深く関連する問題に取り組み、レポートで彼らが専門知識を共有することは驚くことではありません。 AppleのHLSテクノロジーはDASHよりも劣っていますか? 同時に達成できないストリーミングの3つの優先度は何ですか?また、WebRTCが優先されるのはどれですか? 標準ソリューションの代わりに独自のソリューションを実行する価値があるのはいつですか?
レポートは2つの部分に分かれています。再生を伴う単純な送信(ユーザーがビデオを消費するだけの場合)とモバイルストリーミング(ユーザー自身がライブで作成する場合)の2つです。
コンパイラー ダルビク。 アート。 そしてその間のすべて
プラットフォーム: Android
スピーカー: ジョナサン・レビン
ショーの基調講演でジョナサンを覚えている人もいますが、衣装を着たパフォーマンスの代わりに、彼はより深く登りました。 そして、それは真面目で魅力的なバランスを取りました。トピック自体は非常に真面目ですが、ジョナサンのおかげで、すべてが単調な講義に変わるわけではありませんが、非常に活気に満ちています。
Kotlin Puzzlersとは異なり、私たちはこのレポートを解読しませんでしたが、Jonathan自身が彼をきっかけにブログを投稿しました。
極端なテスト:モバイルインターフェイスの暗い隅からのトリック
プラットフォーム: Android / iOS
スピーカー: Vitaliy Fridman
ユーザーが1日あたり平均169分をモバイルアプリケーションに費やし、11分をモバイルブラウザーで費やす場合、特定の会社に対してどのような結論を導き出すことができますか? 「このアプリケーションは、モバイルサイトよりも15倍重要です。焦点を当ててください。」 しかし、よく見てみると、ユーザーがいくつかのお気に入りのアプリケーションを使用しているこれらの169分間のほぼすべてが、そしてあらゆる種類のFacebookがそこに落ち着いているので、それらと競争することは非常に難しいことがわかります。 そして、この場合、力の調整はあまり明確になりません。
これは、Vitaly Friedmanが表明した奇妙な事実の1つです。 コードが豊富なレポートとは異なり、詳細を教えていない基調講演がありますが、具体的にはどのような実装が一般的に優れているかを理解するのに役立つ多くの興味深い一般的なことを報告します。
LyftでのAndroidビルド
プラットフォーム: Android
スピーカー: Artyom Zinnatullin
最後に、ランキングのリーダー。 Lyft Androidアプリケーションのモジュール数が800を超えているため、アセンブリに影響します。 誰かが「これを人生で理解できなかったら、なぜそれを聞かなければならないのか」と考えるかもしれませんが、聴衆の推定では、このレポートは巨人ではなくすべての人にとって興味深いものでした。
とりわけ、このレポートは「バゼルは未来だ」と言っており、当時は非常に大胆に見えました。 しかし、ここに最新ニュースがあります。Bazel構成の例は、Android Qのドキュメントで確認されています 。 未来が近づいているようで、レポートは準備するために一見の価値があります。
ご覧のとおり、12月のメビウスには多くの興味深いことがありました。 このようなレポートが必要な場合、また個人的にスピーカーに尋ねる機会がある場合、次のメビウスは5月22〜23日にサンクトペテルブルクで開催され 、 サイトにはすでにほとんどのレポートの説明があります。 チケットの現在の価格は3月末まで有効で、その後は値上がりします。