アプリ開発をするときに必要な知識と学び方について

こんにちは!ぐち(@bloguchi)です。

システム関連の知識

システム周りの知識ってめちゃくちゃ範囲が広くて、今まさに勉強してますよって人は業務で関わった技術とか人に聞いたところから手を進めていくしかないと思うんですが、僕が思うアプリ開発をするときに必要な知識ってそこまで広くないと思うんです。

ただし、技術的なものは日々アップデートされますし、言語もプラットフォームもすぐに新しいものが出てきます。なので継続して勉強はしないといけませんが、歴史があり、ある程度固まった知識であれば流用もできますし、使いまわしもできるので無駄になることはありません。

ということで、今回は同僚に宿題を出すついでに記事にしちゃおうという作戦を遂行します!笑

スマホアプリ開発を行うときに必要な知識

ネイティブ言語

これは絶対に逃げられません。笑

クロスプラットフォームやら色々あって、Webの言語技術でもアプリを作れますが、基本はネイティブ言語を学ぶことをオススメします。ネイティブ言語を知ったうえで、クロスプラットフォームを学び、両者のメリット・デメリットを知ることでさらに成長できるのではないかなというのが僕の考えです。

今であれば、

  • iOS → Swift
  • Android → Kotlin

が旬ですかね。まぁObjective-cでもいいですし、Javaでも全然OKです。とにかくネイティブアプリを作れるように言語を知る必要があります。

サーバサイド言語

コンシューマ向けも業務系もアプリ単体で動くことなんてほぼありません。必ずといっていいほどサーバとやり取りします。アプリ側とサーバ側をパキッと分けて開発できるチームばかりであればいいんですが、そうはいかないときもありますよね?そんなときのためにサーバ側の言語も知っておきましょう。

まぁさくっといくのであればPHPとかJavaですかね。C#でもいいですが、とにかくサーバサイドの言語も覚えておくべきだと思います。

で、何ができればいいかと言うと、

  • Web API
  • DBへの接続
  • MVCの組み立て
  • リクエスト種別

ぐらいですかね。これだけできれば、まずはなんとかなります。

データベースのセットアップ

きっちりとしたサーバを構築できることがベストですが、それは専門の人に任せるとして、簡単でもいいのでデータベース環境をセットアップできれば強いかなと。

XAMPPなどを使ってもいいので、データベースのセットアップとテーブルの作成ぐらいはできるようになっていればいいかなといった感じですね。

有名どころでいくと

  • MySQL
  • Postgres
  • SQLServer

とかですかね。Oracleとなると少しヘビーなので上記3つぐらいで大丈夫かなと。H2とか知っていると重宝されるかもですが。笑

贅沢を言うと

アプリ(フロントサイド)、サーバサイド、データベースが理解できていれば大抵のアプリは作れます。笑

アプリ開発者の方々に怒られてしまいそうですが、もちろんレベル感や作りのきれいさは差が出ます。アプリ開発が簡単と言ってるわけではなく、最低限これだけは欲しいかなと言った意味合いです。

それともう少し贅沢を言うと後述の知識もあれば、なおいいですね!

広告

AdMobなどのアプリ内広告の作成から導入までを知っていればアプリを使ってマネタイズもできますし、キャッシュフローのお勉強にも多少は役に立つのかなと。意外と仕組みを知らない子たちがいて説明するのに大変なときがあります。

“お金を稼ぐ”ということについては下記の記事で(大して熱くもないけど)熱く書いています。笑

アプリの申請方法

アプリ開発中は必要ではないですが、世に送り出す前にかならず必要になってくるのがこちらです。

ローカルで開発するだけであれば必要はありませんが、世界に公開するためにはアプリストアへ公開する必要があります。野良アプリ等もありますが、正規の手法でいくと。ということです。証明書であったり手順であったり、必要になったときに調べればいいですが、まぁ知っておいて損することはありません。

まとめ

これらを総合的に学ぶことでWebアプリケーションを開発するときにも役立ちます。簡単なサービスを自分で一から作り公開することもできます。

それぞれの言語に適したエディタを使うことで最適なものを選ぶこともできますし、データベースの操作を行うために様々なクライアントアプリを探すことで色々知れますし、メリットしか思い浮かびま・・・プライベートの時間をたくさん使うことにはなりますが、エンジニアとしての市場価値を高めることに関しては良いことしかありません。

対象のサービスに対して多角的な視野で最適なものを作れるエンジニアを目指して勉強を頑張りましょう!!僕も最近では新しいフレームワークを学んでいます。言語も。エンジニアをやめるまで勉強は続きますね。

では今回はこの辺で。