Android開発のベストプラクティス



今日のモバイル世界では、Androidのソフトウェアデバイスの使用は非常に一般的になっている.これはAndroidソフトウェアの開発において最も重要になった.このソフトウェアを開発するときに考慮すべきことを見てみましょう.
ただ、コードを書くのは十分ではない、効果的に書くことは本当の挑戦です.

コード品質への注意


コーディングが芸術であると思うならば、人が正しくコーディングを始めるとき、味は彼が得る味で増加し始めます.また、どのように創造的にコードをどのように良い開発者を示しています.コードの品質は常に重要です.長いコードを書くことは賢明なステップではないので、それだけでなく、より多くのエラーの可能性が増加し、また、多くの時間を無駄にし、複雑さの多くを作成します.あなたのコードを最高のビューを与えるためには、まず専門家のコードを確認し、そのアプローチを分析し、それを変更しようとすることができます.

デザインパターンを使う


設計パターンは、ソフトウェア設計において与えられた文脈において一般的に生じる問題に再利用可能な解決策を提供する.問題解決の可能性に加えて、開発者間のコミュニケーションを支援します.今日はMVC、MVP、MVVM、MVI、クリーンなアーキテクチャなど、多くのアーキテクチャがあります.これらの中から選択すると、あなたのプロジェクトに適しているアーキテクチャを選択する必要があります.したがって、これらのアーキテクチャのいずれかがプロジェクト要件を満たし、標準コーディングガイドラインに従ってコードをきれいに保つことができれば、アーキテクチャは悪くない.

ユーザーエクスペリエンスの課題は非常に重要です


あなたのアプリケーションとのユーザーの相互作用は非常に重要です.私は、最近、モバイル機器のより良い経験の需要が増加していることに同意することができます.いくつかの点を見てみましょう.
優れたUI&UXデザイン:ユーザーフレンドリーと経験のアプリの良いUI&UXのデザインを開始します.それは非常にGoogleの材料設計の原則に準拠するアプリケーションを開発することが重要です.
設定変更の処理:構成変更はほとんどのAndroid開発者にとって痛みのようです.あなたのデバイスと画面の変更の向きを回転させると、Androidは通常、あなたのアプリケーションの既存の活動やフラグメントを破壊し、それらを再現します.これは、アプリケーションが新しい設定に従ってリソースを再読み込みすることができますように行われ、それは基本的にやりがいのようです.このシナリオを誤解することは悪いユーザー経験の例です、そして、あなたに多くのユーザーを失う原因になることがありえます.2017年にGoogleがリリースしたアーキテクチャコンポーネントの一部であるViewModelを使用すると、アプリケーションが方向変更に関するデータを失わないようにすることができます.ViewModelは、そのライフサイクルを通して意図的にユーザーインターフェース関連データを格納して、管理するように設計されています.それを使用すると、データを構成変更から回復することができます.

機敏になる


アジャイルプロジェクト開発方法論は、モバイルアプリケーション開発に関して、他の伝統的アプローチに対していくつかの主要な利点を提供する.これは、開発とクライアントのチーム間のアラインメントを容易にし、すべてのステークホルダー間の進行中の生産的パートナーシップを可能にします.アジャイルモデルは、顧客のための開発プロセスに完全な透明性を提供し、アプリケーション開発プロセスに顧客のフィードバックを組み込むために開発チームの柔軟性を与える.これは、プロジェクトがクライアントのビジョンとの整合性を維持し、そのアライメントを維持するプロセスを通して簡単に変更を行うことができます.プロジェクトをより小さなモジュールやスプリントに分割することで、複数のチームが開発プロセスを高速化することができます.また、MVPをより速く起動し、その後の反復で決定を下すために実際のユーザーからの迅速なフィードバックを集めることができます.

リソース構造を使用する際に考慮すべき点

  • スタイルを使用します:ほぼすべてのプロジェクトが正しくスタイルを使用する必要があります.アプリケーションで大部分のテキスト内容のために一般的なスタイルを持つことは、広範囲にわたる使用を促進します.
  • <style name="ContentText">
    <item name="android:textSize">@dimen/font_normal</item>
    <item name="android:textColor">@color/basic_black</item>
    </style>
    textviewの場合:<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/price"
    style="@style/ContentText"
    />
    あなたは単一のスタイルを持っている必要はありません.XMLファイルは、“style . xml”、“styleslose home . xml”、“stylesper itemtle詳細. xml”、“stylesdies form”のような他のファイルに分割できます.
  • あなたが正しく色を付けることができます:色の色を命名.XMLファイルを適切に変更したり、色を並べ替える簡単になりますし、また、どのように多くの異なる色を使用して理解することが容易になります.審美的なユーザーインターフェースのために通常使われる色の多様性を減らすことは、重要です.
    いけない<resources> <color name="button_foreground">#FFFFFF</color> <color name="button_background">#2A91BD</color> </resources>
  • です
    `
    <--グレイスケール--
    ファッフィン
    <!-- basic colors -->
    <color name="blue">#2A91BD</color>
    
    `
    加えて、更なる区別は、カラーパレットを参照する付加カラーリソースファイルを定義することによって、必要に応じて、基本色およびスタイルの使用の間でなされることができる.

  • 使用寸法:あなたは、色と同様の目的のマージン、パドル、間隔やフォントサイズのいくつかの定義を行うことによって重複を避けることができます.あなたの仕事を容易にする間、寸法はあなたに一貫した観察と感じをします.
    `
    22 SP
    18 SP
    15 SP
    12 SP
    40 DP
    24 DP
    14 DP
    10 DP
    4 DP
    60 DP
    40 DP
    32 DP
  • `

    独自のHTTPクライアントを作成する代わりに、OKHTTPライブラリを使用することができます


    いくつかの証明されたソリューションは、サーバーに要求を行うための独自のクライアントを実装する代わりに使用する必要があります.効率的なHTTPリクエストについては、OkHTTPのスタックをベースにして、安全な層を提供するためにレトロフィットを使用することをお勧めします.あなたがレトロフィットを選ぶならば、私はイメージをロードして、キャッシュするためにPicasso図書館を使うことを勧めます.レトロフィット、ピカソ、およびOKHTTPが同じ会社によって作成されたので、彼らはきれいにお互いを補います、そして、互換性問題はまれです.読み込みとキャッシング画像は、アニメーションGIF、円形画像の別のオプションとして、グライドライブラリで利用可能です.

    プロジェクトはセキュリティに関して脆弱であるべきではない


    開発者がどんな種類のアプリケーションを作るかは重要ではありませんが、セキュリティは確実に優先されず、開発者に無視されるべきです.あなたのアプリケーションは、データとあなたの会社についての敏感な情報だけでなく、あなたのアプリケーションのユーザーのトンがあります.あなたが開発しているアプリケーションに応じて、支払い情報は、ホームアドレス、電話番号などの重要な情報を持っている可能性があります多くのユーザーによって提供される.あなたのアプリケーションが安全でない場合、ユーザーはあなたに通知することを躊躇します.セキュリティが破られるならば、それはあなたのブランドに損害を与えることができます.したがって、機密情報を保護し、暗号化(2因子認証2 fa)のような他の戦術を使用するためには、予防策を講じる必要がある.

    プロジェクトは適切なテストでチェックされるべきです


    A/Bのテスト:更新のセキュリティを向上させるため、新しい機能を紹介したり、機能を拡張するすべてのモバイルアプリケーションの開発プロセスのライフサイクルの一部です.しかし、それは良いアイデアは、主要なアプリケーションの変更をユーザーを圧倒することはない.たとえば、より大きな代表的な聴衆でA/Bテストの後だけ、より大きな観衆に主要なUI変化をリリースすることは、常によりよいです.
    それがリリースプロセスの危険性を取り除くので、進歩的なリリースはアジャイル方法論の一部です.全チームが各リリースの基礎となるハイレベルのビジネスゴールを理解するために、成果物の結果を優先順位付けします.開発チームは特定のユーザーセグメントと特定の時間に特定の機能をリリースすることができます.
    リソース
    https://developer.android.com
    Proandroiddevコム
    www.netguru.com