開発者は、商用Androidアプリを構築するために何を知っている/対処する必要がありますか?[閉まっている]


21

Androidおよびモバイル開発は、エキサイティングな開発分野です。それは新しい分野であるため、アンドロイド開発者がスキルの点で商業的に堅牢なアプリケーションを構築するために期待されることは何ですか?私や私が思うに、この技術に興味を持つ他の多くの「初心者」が知りたい問題は、技術スキルの分野と、Googleが提供する非常に基本的なものを超える必要な高度なトピックへの進歩です。非常に役立つ情報はたくさんありますが規律や秩序のカテゴリに分類されていません。

更新:このように見てください。あなたが上級開発者であり、特定のプロジェクトのために仲間の同僚にAndroidの速度を上げる必要がある場合(この質問に対するあなたの裁量で)、どうしますか?


コマーシャルとは「商業的な品質」または「お金を稼ぐ」ことを意味し、後者がその地域で仕事をすること、または自分でアプリを書いて販売することを意味する場合は?
ジョンホプキンス

@ジョン。これらの領域は除外されません。しかし(私の考えでは)、現在の組織をデバイスに効果的に拡張したい私のような開発者がたくさんいます。そのため、実際には「お金を稼ぐ」ことや新しい仕事を得ることに関与することはなく、単に情報に飢えた経営者/ロードウォリアー向けに企業を拡張するだけです。
angryITguy

私が探しているのは、Androidの上級開発者からのアドバイスです。「これは最初に読んでから、これはHTTPに、これは魅力的なインターフェイスデザインに、これは2D / 3Dの描画に...」の瞬間を読んでください。これを反映するために質問を更新しました。
angryITguy

回答:


16

この質問にはいくつかの側面があります。

技術的な観点から、「どのように?」

習得すべきいくつかの技術に加えて、多くの「必要な」ものがあります。

  1. 1つ目はJavaです。 Android SDKは、すべてのアプリがJavaで記述されているという前提に基づいています。間違いなく、.netで開発する新興のサードパーティソリューションがいくつかありますが(monodroidを参照)、結局のところ、基盤となるOSはLinuxです。

  2. 2つ目は日食です。サードパーティのSDKが数多くありますが、ADTよりも優れていますがIntellijNetbeansについては、Googleの取り組みは現在のところ日食のみに焦点を当てています。

編集:2016年1月現在、Googleは公式のIDEとしてAndroid Studioを公式にサポートしています。

Androidアーキテクチャには、少しの露出が常に役立つ多くのビルディングブロックがあります。

  1. SQLite

  2. ビデオおよびオーディオストリーミング、コーデックの一般的な概念。OpenCore(android.media)の場合。

  3. OpenGL描画。

  4. RESTベースのWebサービス、XMLまたはJSON。

  5. ネイティブコード開発用のARMアーキテクチャに関する概念。

プラス、私のクリスタルボウルに読んで、Androidの開発者はまた、彼らのLinuxを知っているとGoogleがJavaとで代替して水路際にその日のために母国語を習得している必要があり、外出先や、彼らが(醸造どこかを持っている彼らの「表示される場合がありますいくつかの他のもののNative Client」イニシアチブをブラウザドメイン内)。グーグルは、標準のJNIメカニズムを使用してDalvikを補完するcおよびC ++用のNDK(ネイティブ開発キット)をすでにリリースしています。

商業的な観点から、「何?」に答えます。

もちろん、Android開発者はAndroidユーザー自身でなければなりません。ただし、標準の携帯電話ユーザーだけでなく、タブレットユーザーも同様です。彼らは実際にジョブズの態度を採用しなければならない-「自分の携帯電話、タブレット、またはまだ市場に出ていない消費者電子機器でどうすればもっとうまくできるだろうか」と常に自問する。

マーケットリーダーをまだ持っていないAndroidアプリケーションがたくさんありますが、必ずしもモビリティ(または通常の退屈な "where-is-the-the-nearest-pizza?"アプリ)とは関係ありません。個人的に心から抜け出せないものをいくつか紹介します(もっと時間ができるまで;-)。

  1. 子供に絵を描いて読んでもらう。

  2. 外国語を学ぶためのフラッシュカード。

  3. UK-FreeSat TVガイド+リモコン。

  4. こちら(料理のレシピ...など)。


あなたの答えが好きです。SQLLite、Webservices / REST / JSON、OpenGLに使用したリンクを提供できますか?
angryITguy

12

正直に言うと、Googleだけで調査を行う必要があると思います。

ここに私が見つけたいくつかの興味深いリンクがあります。これは良い出発点になるかもしれません。

議論したGoogleのドキュメントに加えて、他にも多くの人がいます。

これであなたが始めて、あなたが望む詳細を見つけられることを願っています!

がんばろう


こんにちは、これはばかげていますが、私はここにいるのでごめんなさい!なぜこれが否決されるのでしょうか?私が尋ねる理由は、他の誰もこの質問に答えていないことに気づいたからです。いくつかの基本的な出発点で私が提案していたのはそれだけです。

マイナスに対抗するために+1。プラスそれはいくつかの良いリンクを提供します:)
ダレンヤング

@ダレン・ヤング-ありがとう、しかし、なぜそれが投票されないのか興味がありました。そのため、サイトをよりよく使用できますが、+ 1はいつでも歓迎します!

@Digger。その情報をありがとう。これは私がすでに見つけたエントリーレベルのものです。私は、上級の開発者が飛び込んで、この答えをもう少し取り入れることを望んでいました。+1
angryITguy

@giulio-ありがとう、探している情報を見つけてください。

5

Googleの公式開発者ガイド

Android向けのGoogleの開発者向けガイドをご覧ください。これには、アプリをAndroidアプリのルックアンドフィールと一致させるためのベストプラクティスとガイドラインが含まれています。


ありがとう。私はすでにGoogle SDKと開発者ガイド(developer.android.com/guide/index.html)を発見しました。しかし、商用グレードのアプリケーションの開発と展開には多くの欠落があることがわかりました。
angryITguy

3

私が見たい二つのこと。1つは、アプリを構築するためのAppleの設計ガイドラインです。質問はAndroidアプリに関するものでしたが、包括的な原則が当てはまり、実際にはデスクトップアプリの設計の観点とはまったく異なる「アプリ」の設計方法で考えるようになります。

また、Appcelerator Titaniumを見てみましょう。これは、javascript / web devタイプの環境からiPhone、iPad、Androidのネイティブコードにコードを移植できるツールです。小さなアプリをすばやく作成する便利な方法であることがわかりました。名前が示すように、利用可能なすべてのネイティブ機能を示す「キッチンシンク」の例をダウンロードできます。definitleyはこれを開始する場所として推奨します。


チタンを見てくれてありがとう。回答で探しているもので回答者が役立つように質問を更新しました。
angryITguy

2

新しいモバイル開発者には、必要なプログラミング言語の基本的なスキルとSDKツールとライブラリ(ロケット科学ではない...

  1. 制約のある環境向けの開発。CPU、メモリ、ディスプレイピクセル、および利用可能なバッテリー電力はすべて、モバイルデバイスの制約をはるかに超えています。一部のプログラマーは、プログラミングを迅速かつ小規模に公開したことがありません。5kWの電力と冷却能力を備えたラックがある場合など、問題を解決するのと同じ方法を考えることはできません。メモリ、またはそのようなもの。Arduinoや他の小さなコントローラーでコーディングを練習することもできます。

  2. UIに精通している。ユーザーは通常、デスクトップシステムとは異なる方法でモバイルデバイスと対話します。持ち歩きましょう。たぶんいくつかのモデル。それらを使用します。多くのアプリと批評(機能ではなく)を使用してください。どれだけ簡単に使用できるか、照明が悪い、移動車両をバウンスするなどです。さまざまなモバイルHIGをすべて読み、読み直してください。コーディング対象の特定のUIプラットフォームについて、ユーザーが好きなものと嫌いなものを把握します。

  3. 癖に慣れている。一部のツールとライブラリは新しく、「癖」があります。開発者向けの掲示板で問題や解決策を読んで、他の何十万人もの開発者が偶然見つけたのと同じ間違いをしないでください。私は、ハードウェア、API、またはアプリ配布モデルでさえ許可されていないことを行う方法について、stackoverflowに関する質問が多すぎます。企業全体が、iPhone Appストアでは不可能なことをしようとして時間を無駄にしています。


intteresting ..それらのトピックをカバーするサイトへの参照を提供できますか?
angryITguy

1

この次の方法でジュニアを訓練しました。

ステップ1:Androidマーケットで無料のアプリケーションとAPIデモを見るように依頼します。これは、彼らもアイデアをつかむことができるためです。(http://developer.android.com/resources/samples/ApiDemos/index.html)また、http://www.androidpeople.com/

インスタンスの場合:Android用IBNLiveアプリは、このアプリケーションを見ると、これらが可能だという大まかなアイデアを得ることができるため、なぜ/ use、デザインまたはコントロールまたは機能をこのように作成できないのかを理解できます。

Step2:既存のアプリケーションを見ることで希望が得られると、GoogleおよびAndroid開発者ガイドを検索できます。

インスタンスの場合:私のジュニアは、拡張可能なリストビューとプッシュ通知のアイデアを得てから、これらのことを行う方法を検索し、プッシュ通知を見つけ、クラウド2デバイスメッセージングを使用して、それについて勉強し、それを実行しました素晴らしい方法で。


0

技術よりもはるかに重要(学ぶことができ、それほど難しくないはずです)、何をすべきか、誰のために、そしてそれを十分に売ることができるかどうかを知ることです。その最後の部分は、iOSとは対照的に、Androidでも依然として問題の一種です。

そのため、Android開発の学習を開始する前に、達成したいこと、それを達成する方法、そしてそれが実際に持続可能なものであるかどうかを明確に把握してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.