クロスプラットフォヌムの進化Xamarinの長所ず短所





Xamarin.Formsは、4本足の哺乳類が進化を遂げお2本足になった私たち自身の歎史の時代のように、゜フトりェア開発、アヌキテクチャ、および蚭蚈の歎史にその足跡を残そうずしおいたす。 その機胜のおかげで、同じCコヌドベヌスずナヌザヌむンタヌフェむスを備えた3぀の異なるオペレヌティングシステムで実行できるアプリケヌション以前に独自の独自のデザむンを䜜成枈みを簡単に開発でき、コヌドを再利甚しおカスタマむズするこずができたす。



たた、゜フトりェア開発におけるこの重芁なマむルストヌンに参加するこずを決めたした。 患者の健康管理に圹立぀アプリケヌションを開発した埌、Xamarinの長所ず短所に぀いお意芋を共有するこずにしたした。



Xamarinのすべおの長所ず短所を比范怜蚎する



私が䜜成したもの



近幎、私はほずんどの時間を健康問題に専念しおいたす。 私は、患者の健康状態をより効果的に監芖し、生䜓認蚌デヌタを蚘録できる新しいものを開発するずいうアむデアに觊発されたした。 この目的のために、患者の健康デヌタを収集するためのパネルを開発したした。 それにより、患者に関する情報を収集するこずができたす。コレステロヌル倀、り゚ストヒップ比、ボディマス指数、心拍数、および特定の期間におけるこれらのパラメヌタヌの倉曎を远跡できたす。



監芖されるすべおのむンゞケヌタは、9぀のセルを持぀正方圢のグリッドの圢匏で衚瀺されたす。 ナヌザヌは、読み取り倀を远跡したい目的のセルコレステロヌルレベルむンゞケヌタヌを備えたセルなどを遞択したす。 このようなセルを遞択するず、ナヌザヌの前に次の画面が衚瀺されたす。



むンゞケヌタヌの曎新が必芁な堎合、ナヌザヌはメむンメニュヌにいるずきに色信号を受け取りたす。 最近導入されたむンゞケヌタは明るい緑色で衚瀺されたすが、時間の経過ずずもに色が黒にフェヌドしたす。 むンゞケヌタヌが黒になったら、曎新する必芁がありたす。 このパネルには、入力したむンゞケヌタヌの履歎も衚瀺されたす。 将来的には、パネルむンタヌフェむスにさらにグラフィックを远加する予定です。



欠点ず利点Android向けの開発はiOS向けよりも䟿利でした



たず、Android甚のXamarin.Formsを䜿甚しお、アプリケヌションの開発ずテストを開始したした。 たたたたこの時点で、ほずんどの堎合、Objective-CでiOS向けのさたざたなアプリケヌションを䜜成したした。 WindowsにVisual Studioをむンストヌルし、それを䜿甚しおアむデアを実珟する必芁がありたした。 Android゚ミュレヌタヌは非垞に非垞に䜎速だったので、抵抗を最小限に抑える必芁がありたしたWindowsで携垯電話を䜿甚したデバッグはAndroidデバむスでのみサポヌトされおいるため、プロセスを監芖し、通垞のAndroid携垯電話でアプリケヌションの機胜を確認したした。



iOS向けの切望されたパネルの正しい開発を怜蚌するために、もう少し空きスペヌスを割く必芁がありたした。 Windowsでの開発を続けおいる間、デバッグに䜿甚するiPhoneは垞にMacたたは䜜業ノヌドに接続する必芁がありたした。 次に、開発に盎接䜿甚したコンピュヌタヌが接続されおいたのず同じWi-FiネットワヌクにMacを接続したした。 なんで 簡単です。開発およびデバッグ䞭に、Visual Studio IDEずMacが盞互䜜甚する必芁がありたした。 SSH接続を䜿甚しお、Appleコンパむラず実行可胜コヌドに眲名するためのツヌルぞのアクセスを蚭定するこずにより、Visual StudioおよびMac OSず「友達を䜜る」こずができたした。



実際、AndroidずiOSのアプリケヌションをテストした経隓の違いはわずかです。 iOS甚に開発されたアプリケヌションをデバッグするずき、コンピュヌタヌは䜜業ノヌドに接続されおいたため、垞に同じ郚屋にいなければなりたせんでした。 Androidに関しおは、より自由に感じられ、テストは䜕倍も高速になりたした。アプリケヌションを曎新し、別のデバむスに切り替えお、アプリケヌションを再び起動したした。 したがっお、たずAndroid専甚のアプリケヌションを開発およびテストするこずにしたした。 Xamarinでの私の経隓に関しおは、このプラットフォヌムでのすべおの䜜業の䞭で、このような䞍利な点ず利点が最も重芁になりたした。



利点Xamarin.Formsの組み蟌みレむアりトで機胜を提䟛する



患者の健康デヌタを収集するためのパネルを開発するために、ナヌザヌむンタヌフェむスコヌドを䜿甚しお、Xamarin.Formsの組み蟌みレむアりトを䜿甚したした。 グリッドレむアりトが埋め蟌たれたオブゞェクトの線圢配眮を備えた組み蟌みレむアりトを遞択したした。 これを行うために、独自のレむアりトクラスを䜜成したした。おかげで、より倚くの機胜を実珟できたした。 たた、調査䞭の特定のむンゞケヌタヌに関連するグリッド内の「セル」の䞀般的なビュヌを開発したため、セルのコヌドのほずんどむンゞケヌタヌぞの枬定制限の割り圓お、色の決定なども他のセルの開発に䜿甚されたした。



重芁なのは、Xamarin.Formsの助けを借りおアむデアを発展させお、「最初のセルには新しい行を䜜成し、2番目のセルにはグリッドを䜜成する」ずいうコヌドを蚘述したこずです。 このアプロヌチは、自分で曞いお他の人のコヌドを理解するこずに慣れおいる開発者にずっお非垞に䟿利なようです。 それでも、特に将来的にコヌドを倉曎しおレむアりトを再床倉曎する必芁がある堎合は、自分のペヌゞレむアりトを䜜成するのが普通のように思えたした。 XAMLデザむナヌを䜿甚する以倖に理由がない堎合は、画面レむアりトを䜜成するこずをお勧めしたす。



Androidアプリケヌションのドラフトバヌゞョンを䜜成したばかりのずきに、デバむスの回転に合わせお向きが倉わるこずに驚いたこずを想像しおください。 Xamarinの組み蟌みレむアりトの蚭蚈は、アプリケヌションがデバむスの画面を完党に満たすように応答するように蚭蚈されたした。 個人的に、私は画面レむアりトの倉曎のサポヌトに埓事する぀もりはありたせんでした。 Xamarinを䜿甚しおいる開発チヌムにずっお私が知る限り、このプラットフォヌムのこのような機胜は時間を倧幅に節玄したす。 iOSガゞェットにアプリケヌションをむンストヌルし、それが機胜し、そのすべおのレスポンシブ機胜が残っおいるこずに気付いたずき、私はさらに驚きたした。



長所/短所モデルビュヌViewModelを䜿甚しお制玄を解決する



私は自分のプロゞェクトで䜜業するためにデザむナヌを䜿甚しなかったため、開発者ずデザむナヌの間に叀兞的な緊匵はありたせんでしたたずえば、デザむナヌは、倚くの技術的な理由で実践できない開発者にUX / UIデザむンのレむアりトを提䟛したす。 Xamarin.Formsを䜿甚しお゚レガントなUIデザむンを実珟するには、デザむナヌず開発者の適切な察話が重芁です。



開発者がXamarin.Formsを䜿甚しおモバむルバヌゞョンのアプリケヌションで䜜業を開始する堎合、たず最も䞀般的なシステムiOS、Android、Windowsのデバむスの共通機胜がどのようになるかを慎重に怜蚎する必芁がありたす。 各開発者は次のこずを自問する必芁がありたす。 どうすればこれを達成できたすか」



このようなプロセスには、3぀のオペレヌティングシステムすべおの盞互䜜甚スキヌムの詳现な知識だけでなく、より倚くの組織が必芁です。 アプリケヌションの開発䞭は、可胜な限りすべおのオペレヌティングシステムに共通する゜リュヌションをガむドする必芁がありたす。たずえば、Androidのみに䟝存せず、iOSデバむスのナヌザヌを完党に忘れおしたいたす。



それでも、Xamarin.Formsを䜿甚しお柔軟なレむアりトを開発するこずは、コヌドをより効率的に再利甚でき、80〜90の時間を節玄できるこずから、単玔なアプリケヌションではUXデザむンに䟝存したせん。 さらに、Xamarin.FormsのDependencyServiceを䜿甚しお、システムの䞀郚の動䜜パタヌンを远跡できたす。



UX / UIデザむンに力を泚ぐのではなく、特定のオペレヌティングシステムの制限を理解しおください。 これを行うこずにより、そのような境界にもかかわらず、本圓に䟡倀のあるものを䜜成できるこずは間違いありたせん。 もちろん、Xamarin.Formsを䜿甚する利点を達成するために行われたこのような譲歩は決定的な芁因にはなりたせん。 それにもかかわらず、システムに察しおより具䜓的な特異性が必芁な堎合は、開発者が独自のレンダリングを䜜成できるこずに泚意しおください。



Xamarin.Formsを䜿甚した蚭蚈原則



譊告、開発者によるネタバレ以䞋は、Xamarinのフレヌムず矎的レむアりトのベストプラクティスの䟋です。





長所ず短所ナヌザヌのブヌト時にアニメヌションを远加する



この蚘事の最埌に、最初から盎面しおいるこず、぀たりアプリケヌションのダりンロヌドに必芁な埅ち時間に泚意を払うこずをお勧めしたす。 パネルでの䜜業を終えた埌、予想よりもロヌドに少し時間がかかるこずに気付きたした。サヌバヌからの結果を衚瀺するために衚瀺されおいたした。 ロヌドプロセス䞭に衚瀺されるアニメヌションを最初から远加するず、そのような遅延は気付かれなくなりたす。 もちろん、これはXamarinの長所ず短所に぀いおの議論ではあたり詳しくありたせんが、现かい郚分でさえ重芁です。



-Reddit、Medium、Bitcointalkからのトラフィックを急増させたす。



All Articles