フルスタック開発者になる方法:パート3
公開: 2017-12-02この投稿は、フルスタック開発者になるためのシリーズの3番目で最後の投稿です。 この記事では、特にモバイルアプリの開発について説明します。 フロントエンドとバックエンドの開発の詳細については、こちらをお読みください。
スティーブジョブズが2007年にiPhoneを発表したとき、それは印刷機以来世界が目撃した最大の革命をもたらしました。 スマートフォンは、世界中のほぼすべての国に浸透しています。 最も貧しい人々でさえ、それをたくさん持っているように思われるので、彼らのいない生活は考えられないようです。
モチベーション
電話で実行しているときにのみ意味をなす特定のアプリがあります。 Uberを例にとってみましょう。 UberはGPSを介してあなたの正確な位置を知る必要があります。 デスクトップ用のUberアプリはあまり意味がありません。
もう1つの問題は、ブラウザ用に作成されたアプリであっても、オーディエンスの大多数が電話でアプリを開くことです。 このような場合、エクスペリエンスがシームレスであり、大量のデータが消費されないようにすることが不可欠です。 最後に、マウスクリックとタッチを使用した操作には微妙な違いがあります。 アプリは、両方のシナリオで正常に動作することを確認する必要があります。
これらすべての考慮事項を念頭に置いて、ブラウザーから離れてモバイルアプリを構築することは理にかなっています。 これにより、一般的なスマートフォンが提供する機能を最大限に活用すると同時に、ユーザーエクスペリエンスを向上させることができます。 以下は、モバイルアプリの開発を促進するための手順です。 フロントエンドおよびバックエンド開発のフルスタック開発者になるための最初の部分。
目次
ステップ12:プラットフォームを選択する
最初のステップは、アプリケーションを構築するプラットフォームを選択することです。 適度に大きなチームの一員でない限り、すべての主要なプラットフォームでアプリを最初から作成することはほとんどありません。 より可能性の高いシナリオは、お気に入りのプラットフォームでコーディングし、それを他のプラットフォームに移植することです。
今日の主なスマートフォンプラットフォームは、iOS、Android、およびWindowsです。 彼らは劇的に異なる言語とIDEを使用しています。 たとえば、iOSはSwiftとXCodeを使用し、AndroidはJavaを使用し、Android StudioとMicrosoftはC#とVisualStudioで動作します。
今日の市場はAndroidとiOSによって支配されているため、選択は実際にはこれら2つになります。 選択する前に考慮する必要があるかもしれないいくつかのことは、アプリのオーディエンスシェアです。 第一世界の国にいる場合は、Appleデバイスが非常に人気があるため、iOSアプリを作成することはビジネス上理にかなっていると思います。 対照的に、インドのような国では、iPhoneの市場シェアはその法外な価格のために非常に小さいため、Androidの方がより明白な選択です。
アプリからお金を稼ぐことを計画している場合、iOSユーザーはAndroidユーザーよりもアプリ内購入のためにウォレットを開く可能性が高いことに注意してください。 これは、Androidが支配的な第三世界市場と比較して、iOSユーザーは通常可処分所得が多い傾向があるためである可能性があります。
iOS開発では、Mac開発マシンが必要です。 また、Apple App Storeのライセンスは、GooglePlayの1回限りの25ドルの料金と比較して99ドル/年で販売されています。 言い換えれば、iOSの開発はかなり高価です。
この投稿では、今日のモバイルアプリ開発の方法(ネイティブAndroidアプリ、ネイティブiOSアプリ、ハイブリッドモバイルアプリ)について説明します。
ステップ13:JavaとXML
JavaはAndroid開発で最も人気のある言語です(Googleは最近Kotlinプログラミング言語のサポートも導入しました)。
Androidの創設者は、Javaが適切な選択であると考えており、その開始以来、Javaに固執してきました。 そして、彼らの軌道が通り過ぎるものであるならば、それは驚くべき決定にほかなりません。

Javaを学ぶのに最適なリソースは、HeadFirstJavaです。 この本を読むと、言語とオブジェクト指向プログラミングの原則を完全に紹介することができます。
XMLに関する限り、このテーマに集中したチュートリアルは必要ないと思います。 あなたはすでにXML(HTML)のサブセットを広範囲に使用しており、Android開発に直接飛び込んだとしても、それをかなり迅速に理解することができます。 Javaについても同じことは言えません。 Androidに挑戦する前に、言語を十分に理解していることを確認してください。


ステップ14:Android
これで、Androidアプリを作成するための技術的なノウハウが得られました。 この革新的なOSを深く掘り下げる時が来ました。 特定のAndroidプラクティスは、通常Webで表示されるものとは異なることに注意してください。 以下に提案するリソースは、これらの違いによって学習が妨げられないようにするためのものです。
Androidプログラミング-BigNerdRanch Guide 2nd Editionは、Javaをすでに知っている場合から始めるのに適した場所です。 現在業界標準となっているAndroidStudioを使用しているため、必ず第2版を入手してください。 Eclipseでアプリを構築する方法は、ほとんど時代遅れです。
Fyndの共同創設者であるFarooqAdamへのインタビュー
ステップ15:iOS
あなたがAppleの愛好家である場合、および/またはiOSアプリがあなたのビジネス/キャリアの願望により理にかなっていると判断した場合。 最初のステップはMacを購入することです。 XCodeはMacでのみ機能し、アプリストアで公開するにはMacが必要です。 申し訳ありませんが、VMWareです。
iOS用に提案するリソースは、Android用のリソースとまったく同じです。 Nerd Ranchには独自の出版物があります– iOSプログラミング:BigNerdRanchガイド これはSwiftとXCodeを扱っているので、開始するのに適した場所です。
ステップ16:ハイブリッドモバイルアプリ
単独の開発者であるか、小規模なチームで作業している場合は、AndroidアプリとiOSアプリを別々に構築して維持するための時間やリソースがない可能性があります。 複数のプラットフォーム向けに構築する開発者の苦痛を軽減するために、ハイブリッドモバイルアプリの概念が導入されました。
コンセプトは非常にシンプルで革新的です。 Javascriptを知っている場合は、Webアプリの作成方法をすでに知っています。 したがって、JSにアプリがある場合は、アプリケーションをAndroid、iOS、およびWindowsに自動的に移植するフレームワークが存在する必要があります。 信じられないが本当。
ほとんどのハイブリッドフレームワークは、CordovaまたはReactNativeを使用してこれを実現します。 コルドバは、ブラウザとスマートフォンのネイティブハードウェアの間の架け橋と考えることができます。 JSのみを使用して2つの間の接続を確立し、各プラットフォームのネイティブ言語でビルドスクリプトを作成するのに役立ちます。
ただし、Cordovaベースのフレームワークは、Facebookの強力なReactNativeによって急速に影が薄くなっています。 React Nativeの力は、CordovaがWebViewを構築する一方で、React Nativeを使用すると、Java(Androidの場合)またはSwift(iOSの場合)を使用して構築するネイティブアプリを構築できることにあります。 つまり、Cordovaはモバイルアプリを装ったWebサイトですが、ReactNativeを使用すると本物を構築できます。
私の意見では、Cordovaにミスを与えて、代わりにReactNativeを学ぶことができます。 それは非常に素晴らしいキャリア投資です。 UpGrad&IIIT-Bのソフトウェア開発プログラムは、Facebook、Netflix、AirBnBなどの企業がアプリを設計するためにすでに使用しているこの革新的なライブラリで旅を始めるのに最適な場所です。
Fyndの共同創設者であるFarooqAdamへのインタビュー
結論
ハイブリッドアプリの終了により、このシリーズは終了します。 要約すると、これらは私たちがカバーしたものです:

- コンピュータサイエンスの基礎。
- データ構造とアルゴリズム
- UI / UX
- HTML、CSS、JS
- フロントエンドフレームワーク
- サーバーサイドスクリプトとデータベース
- フルスタックフレームワーク
- AndroidとiOS
- ハイブリッドモバイルアプリ
私がこのシリーズを書くのを楽しんだのと同じくらいこのシリーズを読んで楽しんだことを願っています。さらに重要なことに、少なくともいくつかの部分が役に立ちました。 いつものように、あなたのコメントや提案は大歓迎です!


