コルチンからARKitたでMobius 2018 Piterで芋぀けられるすべお





12月に新しいサンクトペテルブルクメビりスを発衚したずき、私たちはほんの数人のスピヌカヌの名前を知っおいたした。 そしお今、䌚議の1週間前たでに、Kotlinのマルチプラットフォヌム䜿甚に関する話からゞョナサンレビンの「秘密」基調講挔たで、䌚議で聞くこずができる報告に぀いお話しおいる。 ただ行くかどうか決めおいないなら、それがあなたの決定に圹立぀でしょう









クロスプラットフォヌムレポヌト



モバむル開発の党䞖界ず同様に、MobiusはiOSずAndroidに分かれおいたす。通垞、各レポヌトはこれらのプラットフォヌムのいずれかを参照したす。 しかし、双方にずっお有甚なものがありたす。それらから始めたしょう。









iOSおよびAndroid甚のKotlinマルチプラットフォヌムアヌキテクチャ

倚くの人がKotlinを「Androidの蚀語」ず芋なしおいたすが、実際には、Kotlinの䜜成者にはもっず野心的な蚈画がありたす。 1぀の蚀語でのクロスプラットフォヌム開発甚であり、1幎前にiOSをKotlin / Nativeプロゞェクトのタヌゲットプラットフォヌムの1぀ず呌んでいたした。 これたでのずころ、これはすべお実隓モヌドですが、さらに興味深いこずです.AndroidでのKotlinの䜿甚はすべおのフェンスで既に曞かれおいたすが、珟時点では、クロスプラットフォヌムのニュアンスに粟通しおいる人は午埌に火を぀けお探す必芁がありたす。 たた、メビりスでは次のようなものを芋぀けるこずができたす。RomanYatsynaずIvan Vazhnov Revolutがトピックを開きたす。
















あなたが奜きになるA / Bテスト

A / Bテストでは䜕が難しいでしょうか AずBが補品䞊に座っおいたが、それはより良く芋える-補品䞊に残った。 しかし実際、2018幎には、このようなテストは段階的な展開ず混同され続け、その結果は垞に正しく分析されるずは限らず、ナニットテストのサポヌトなどのトピックは、A / Bオプションに関係なく、疑問を提起し続けおいたす。 メビりスで圌らは答えを芋぀けたす。
















マルチモゞュヌルプロゞェクトアヌキテクチャ

GoogleがInstant Appsのサポヌトを矩務付けた堎合、Androidアプリケヌションは非垞に圹立぀ずいうゞョヌクがありたす。これにはアプリケヌションのモゞュヌル化が必芁なため、党員が「スパゲッティを解く」必芁があり、コヌドの品質が劇的に向䞊したす。 たた、品質向䞊に぀いお考えるために「䞊からのポむンタヌ」が必芁ない堎合は、AvitoのEvgeny Suvorovの経隓が圹立぀かもしれたせん。圌はiOSずAndroidの䞡方で40䞇行のコヌドのプロゞェクトのモゞュヌル化に぀いお話しおいたす。
















Avitoでのモバむルアプリのリリヌス

Avitoでのモバむル開発のテヌマの継続 Alexey Shpirkoは、モバむルアプリケヌションのリリヌスプロセスがどのように線成されおいるか、プロセスのどのステップが自動化されるか、リリヌス前の手動テストの量を枛らす方法、䜕も壊れおいないこずを確認したす。
















モバむルアプリのリバヌス゚ンゞニアリング方法、理由、およびその理由

数十億ドルがモバむルスタヌトアップに投資されおおり、投資家は投資の結果を誰も手に入れられないこずを望んでいたす。 しかし同時に、倚くの堎合、リ゜ヌスはリバヌス゚ンゞニアリングに察する保護のために割り圓おられたせん。 この悲しいパラドックスに驚くかもしれたせんし、その修正に実行可胜な貢献をするこずもできたす。レポヌトを芋お、自分を守る方法を芋぀けおください。
















お母さんがマルチスレッドに぀いお決しお蚀わなかったこず

私は認めなければなりたせん Fernando Cehasa IBMはAndroidのバックグラりンドを持ち、マルチスレッドのレポヌトではこのバックグラりンドに基づいお構築したすが、iOS開発者も興味がありたす。 最終的に、スレッドの問題自䜓は、特定のプラットフォヌムよりもはるかに広範です。 スピヌカヌが良ければ、このトピックを氞遠に聞くこずができたす。 そしおフェルナンドでは、疑いの䜙地はありたせん。圌はすでに以前にメビりスで公挔し、倧衆に恋をしおいたした。 スヌパヌハヌドコアは埅぀䟡倀がありたせんが、知識を磚くず倚くの人に圹立ちたす。
















壮倧な戊いiOS vs. Android

私たちは正盎に認めたす。私たちは、 ゞョナサン・レビンのスピヌチから䜕が䌚議を締めくくるのか正確に䜕を期埅しおいるのか、たったく詳しくはわかっおいたせん。 しかし、最埌の最埌に、ゞョナサンは予枬䞍可胜なショヌを䞊挔したしたが、最終的に誰もがそれを気に入りたした。 そのため、ここでは「AndroidずiOSの戊いが蚈画されおいる」ずいうこずを知っおおく䟡倀があり、退屈しないこずを期埅し、実装の詳现に驚きを䞎えたす。

















iOS





iOS SDKを信頌する

倚くの人々は、fastlaneツヌルからFelix Krauseを知っおいたす。 最近、fastlane.ci CIシステムも発衚され、Felixにむンタビュヌしたした 。 しかし、圌の関心はこれに限定されず、iOS開発の䞖界におけるセキュリティ問題も圌にずっお重芁です。 そしお、MobiusがサヌドパヌティSDKを䜿甚するリスクに぀いお説明したす。












iOSでの音声応答アプリの構築

音声制埡は迅速に実行されるだけでなく、容赊なく実行されたす。その結果、iOS開発者でさえも、GoogleからのDialogflowの操䜜方法に぀いお考えるこずができたす。 Martin MitrevskiがこれずiOSの音声むンタヌフェむスのニュアンスに぀いお話したす。
















iOSアプリケヌションでのテストのレむダヌ

Ewa LudwiczakずAleksander Grzybは、Allegroでチヌムずしお働いおおり、月間50䞇人以䞊のナヌザヌを察象にアプリケヌションをテストした経隓に぀いお話しおいたす。 静的コヌド分析から䜿いやすさのテストたで、すべおのレむダヌを段階的に実行したす。
















「Learn Private Ryan」、たたはモバむルデバむスでオフラむンの顔認識を行う方法

個人的な知り合いのいない女の子ず圌女の趣味の名前を知りたいず思ったこずはありたせんか このむベントの展開の1぀のオプションは、個人の識別です。 ニコラむアシャニンは、顔識別ずは䜕か、モバむルデバむスでこの問題を解決できるかどうかを怜蚎したす。 さらに、この問題を解決する際の粗さず耇雑さを調べ、そのようなアプリケヌションでリリヌスするこずが珟実的かどうかに぀いおも議論したす。
















100䞇個の星をiPhoneに収める方法

Konrad Feilerは、開発者になった数孊者です。 そしお、これが圱響したす。レポヌトでは、圌は遠くから行き、メモリの基本を掘り䞋げ、パフォヌマンスを最適化したす。 そしお、圌は、この知識がSceneKit / ARKitで䜕癟䞇もの星をiPhoneにロヌドするアプリケヌションを䜜成するのにどのように圹立぀かに぀いお説明したす。
















䟝存関係マネヌゞャヌは単なるcURLではありたせん

Ivan Vavilovが、䟝存関係ず責任の最も有名なマネヌゞャヌの内郚構造に぀いお語りたす。これらのマネヌゞャヌを䜿甚する際に想定する必芁がありたす。 圌は䟝存関係をむンストヌルするずきに問題を考慮し、䟝存関係グラフを解決するためのアルゎリズムを分析したす。 たた、集䞭化、バヌゞョン管理、セキュリティの問題にも察凊したす。
















Yandex.Mapsの拡匵珟実

倚くの人がARKitに぀いお聞いたこずがありたすが、倧芏暡なプロゞェクトでそれを詊した人はほずんどいたせん。 Yandexは、画面䞊に歩行ルヌトのプロンプトを衚瀺するこずでこれを行った最初の䌚瀟の1぀です。今では、垞にマップを恐れおいた人でも自宅ぞの道を芋぀けるこずができたす。 どんなニュアンスに遭遇したしたか Dmitry Trimonovに䌝えおください 。
















デヌタ駆動型UI無制限のパワヌ

Alexey Demedeckiが、デヌタ駆動型UIコンポヌネントを構築およびテストする手法に぀いお説明したす。 このアプロヌチにより、個々のモゞュヌルの最倧限の分離、スナップショットテスト、ナニットテスト、およびむンタラクティブテストストヌリヌブックの蚘述が可胜になりたす。 デヌタ駆動の手法を䜿甚しお、アニメヌション、画面間の遷移、むンタラクティブなゞェスチャヌを䜜成する方法を䟋で瀺したす。 䟋はiOSプラットフォヌムずSwift蚀語に焊点を圓おたすが、この手法はAndroidに非垞に適しおいたす。
















保護されたアプリケヌションモバむルバンキングの解析

「アプリケヌションの特別なセキュリティが必芁なもの」を人々に尋ねた堎合、䞻な答えの1぀は「お金」です。 銀行は、写真フィルタヌを適甚するための条件付きアプリケヌションよりも垞に高いセキュリティを必芁ずしおいたす。 そしお、CFT䌚瀟の名前は「金融技術センタヌ」を意味したす-バむオメトリック認蚌、キヌチェヌン、SSLピン止めなどに぀いお話すのは埓業員のキリル ・ズ゚フずアルテム・ログトフであるこずは驚くこずではありたせん。
















Playgroundsでのアプリケヌションの準備

Playground-Driven Developmentを䜿甚した経隓に觊発されたDenis KirillovずKonstantin Yurichevは 、iOSでの商業開発でこの方法論を䜿甚した経隓に぀いお説明したす。将来的には、゚ンコヌド䞭にモバむルアプリケヌションをデバッグできたす。 PDDの実行可胜性を確信した私たちは、この方法論に埓っお䌚瀟の䞻芁なサヌビスの開発に着手したした。 これがどのように起こったのか、それが䜕に぀ながったのか、レポヌトから家を出るこずなくそれを繰り返す方法に぀いお孊びたす。」

















Android





巚人の肩の䞊コトリンが研究した蚀語

この1幎でこのプラットフォヌムでKotlinがどのように成長したかをAndroid開発者に䌝える必芁はありたせん。 メビりスは、Kotlinの開発を率いるAndrey Breslavによるプレれンテヌションを行いたす。Kotlinは、他の蚀語の機胜によっおどのように圱響を受けたかに぀いお説明したす。 そしお、レポヌトの埌に、アンドレむに圌自身の質問をする機䌚がありたす-必ずしもコトリンず他の蚀語ずの関係に぀いおではありたせん。
















䟋でのプロファむリングボトルネックを探す

Android Studioの最新バヌゞョンでは、プロファむラヌが改善され、ネむティブコヌドに埓うこずを孊習したした。 しかし、プロファむラヌを持っおいるだけでは十分ではありたせん-それを䜿甚できる必芁がありたす。







レポヌトは技術的なケヌスです。 動䜜するアプリケヌションがありたす。 それは十分に速く動䜜しないずいう感じがありたす。 最初に、 Arthur Badretdinovは、盎感よりも正確なツヌルの助けを借りお、この気持ちがどれほど真実かを理解したす。 次に、いく぀かのツヌルを1぀ず぀䜿甚しおこのアプリケヌションを「準備」し、同時に最適化を行いたす。 すべおの最適化が努力に倀するわけではないため、それぞれの結果を远跡したす。 最埌に、アプリケヌションがアセンブリからアセンブリたでどのように機胜するかを確認できるいく぀かのツヌルを芋おいきたす。
















ノァむオリニストは必芁ありたせんコトリンのコルヌチンを支持しおRxJavaを攟棄したす

Kotlinでプロゞェクトを開始する開発者の65は、RxJava 2をバックグラりンドツヌルずしお遞択しおいたす。 しかし、この遞択はどの皋床正圓化されたすか Kotlinコルヌチンは、RxJavaの匷力な代替品ずなりたす。 レポヌトでは、 りラゞミヌル・むワノフが䞡方のアプロヌチを比范し、それぞれの長所ず短所を怜蚎し、コルヌチンを䜿甚する方が䟿利な堎合ず、Rxなしでは実行できない堎合を確認したす。 䞡方のアプロヌチを䜿甚しお蚘述されたコヌドをテストする方法ず、それらを共存させる方法が明らかになりたす。
















JobSchedulerずの困難な道

2018幎11月たでに、党員がtargetSdk 26+に切り替えるこずを䜙儀なくされたす。぀たり、ほがすべおのアプリケヌションがプラットフォヌムJobSchedulerを明瀺的たたは暗黙的に䜿甚するこずになりたす。 ただし、このコンポヌネントは理想ずはほど遠いものであり、ナヌザヌが目にするこずはないず予想される倚くの問題があり、ナヌザヌに届くたでは発生しない可胜性がありたす。 レポヌトでは、 Arthur Vasilov Yandexがそのようなすべおの問題を怜蚎し、Androidコヌドの゚ラヌに぀いお議論し、できるだけ簡単にJobSchedulerに切り替える方法を分析したす。
















誕生、生死、たたはシステム内のアプリケヌションに䜕が起こるか

Androidは非垞に耇雑なシステムであり、通垞の開発者からは隠されおいるさたざたなこずが起こりたす。 レポヌトでは、 Anton Dudakov Yandexが分析したす。

-Android自䜓の起動方法、アプリケヌションの起動方法。

-誰が、なぜ、どのメカニズムおよびどのメ゜ッドを䜿甚しお、起動するアプリケヌションコンポヌネントを呌び出すか。

-特定のリ゜ヌスぞのアクセス暩の芁求はどこで行われ、それに基づいおシステムが暩利を付䞎するかどうかを決定したす。

-アプリケヌションが最終的にどのように死ぬか䜕を殺すこずができるか、それが自分自身を殺すずどうなるか。
















Odnoklassnikiぞのアップロヌド

Odnoklassniki Androidアプリケヌションでは、ナヌザヌはさたざたなコンテンツをダりンロヌドできたす。 これには、写真、ビデオ、メモ、音声メッセヌゞ、補品、カタログなどがありたす。 サヌバヌぞの配信が高速になるほど、ナヌザヌは幞せになりたす。 さらに、さたざたな理由でコンテンツが倱われる可胜性が䜎くなりたす。 そのため、アップロヌドマネヌゞャを高速化するタスクが登堎したした。 キリル・ポポフの報告は、これから出たものず圌らが遭遇した問題に぀いおのものです。
















サヌビスあなたは圌らなしでは生きられたせんが、圌らず共に生きる方法

Jonathan Levinが、Androidのバックグラりンドワヌクの制限がどのように倉化し、これが開発者にどのように圱響するかに぀いお話したす。 しかし、レポヌトが「YをXに適甚する」ずいう䞀連の指瀺になった堎合、圌はゞョナサンにはなりたせん。 代わりに、圌は、リスナヌが考え、質問を䜜成し、りサギの穎に登るこずを芁求する報告曞を玄束したす。
















ArCoreでアプリに珟実を远加したす

䌚議に関する2぀のiOSレポヌトでARKitに぀いおすぐに説明したすが、Android偎も芋逃せたせん。 ARCoreは以前に導入されたしたが、実際の結論を導き出すのに十分な時間が経過したした-そしおYuliya Kaleda Jetがそれらを共有したす。
















Androidマルチメディアデバむスの開発におけるマむクロサヌビスアヌキテクチャ

速床が䜎䞋しないこず、コヌドが明確で理解しやすいこずを確認する方法は Ivan Alyakskin EPAM Systemsず孊生は、LinuxカヌネルからAndroidフレヌムワヌクたで、パフォヌマンスの最適化の耇雑さを理解したす。
















アクタヌモデル叀いアプロヌチの新しい芋方

通垞、倧芏暡なプロゞェクトには、RxJavaを䜿甚する倖郚および内郚システムがいっぱいです。 このアプロヌチはすでに事実䞊の暙準になっおいたすが、倚くの人は、䌁業でアクタヌモデルであるこずが蚌明されおいるたったく異なる開発パラダむムがあるずは考えおいたせん。







Vladimir Tebloev Sberbank-Technologyによるこのレポヌトでは、アクタヌモデルずは䜕か、モバむルデバむスで開発する際にアクタヌモデルがどのように圹立぀か、たたアクタヌはErlangずScalaだけでなく䜿甚できるこずを孊びたす。 通垞の同期コヌドなどのように機胜する軜量の非同期スレッドに぀いお話したしょう。 Kotlinのコルヌチンに觊れ、高速で応答性の高いシステムを構築する際のこのアプロヌチの基本的な性質に぀いおも説明したす。
















すべおを想起させる自動入力フレヌムワヌクずアカりント転送API

開発者にずっお、ナヌザヌのデバむスの倉曎はそれほど悪くはありたせん圌はそこに䜕か他のものをむンストヌルできたす。 しかし、Android Oのリリヌスにより、新しいデバむスで䜿い慣れた心地よさでナヌザヌを満足させる新しいツヌルが登堎したした。







-自動入力フレヌムワヌク-ナヌザヌの個人デヌタの自動入力。

-アカりント転送API-デバむス間のデヌタ移行のシステムプロセスに統合する機胜。







Kirill Borisovのレポヌトから、これらのツヌルの䜿甚の基本ずそれらに関連する萜ずし穎を孊び、Yandexでの実装の経隓を知るこずができたす。
















AOSPの抂芁、たたはAndroidビルドで倜を過ごす方法

Victor Lapin Advantumは、AOSPずは䜕か、その構成芁玠、Google Androidず異なる理由、特定のデバむス甚に既補のファヌムりェアを組み立おる方法を説明したす。
















ビルド䞭の老化の回避Kaptずその他の冒険

Android Dev Podcastで倚くの人に知られおいるDenis Neklyudovがプロゞェクトの生涯の物語を語りたす。倚くの人がそうであるように、モノリシックな性質のためにあたりにも長い間集たり始めたした。 ビルド時間の浮き沈みを䌎うストヌリヌ。 これは、1幎にわたるリファクタリングず調査の結果であり、䞻にスケヌルUberおよびFacebookの補品でのみ実行されたす。 Gradleの蚭定、Dagger2の構成、および接続を枛らすためのトリッキヌな゜リュヌションの怜蚎に費やした時間は、1か月以䞊かかりたした。 そしお、結論ず決定は奇跡的にレポヌトの時間にちょうど収たりたした。

















最埌に



プレれンテヌションに加えお、䌚議では䜕か新しいこずがありたす。最初の日の終わりに、ボヌドゲヌムでのパヌティヌに加えお、BoFセッションが開催されたす。 そのため、講挔者の話を聞くだけでなく、緊急のトピックの議論に個人的に参加するこずも可胜です。







䌚議に参加するこずに気付いた堎合、サむトで登録が行われたす 。 そしお、ただ䜕らかの情報たずえば、レポヌトの正確なスケゞュヌルが必芁であるこずに気付いたなら、それはそこにありたす。








All Articles