サービス開発 プログラミング

【経営者向け】スマホアプリ開発の方法 | 現役エンジニアが経験談を語ります

2020年8月11日

0
0

皆さんどうも、りょすけです。

 

本日は、プログラミングのことを話そうと思います。

 

ズバリ、

 

スマホアプリを作る方法

 

でございます。

 

最近は、ノーコード(NoCode)という言葉が流行っているようですが、

 

今回はガッツリ開発する話しです。

 

(ノーコード(NoCode)は便利な側面もあるので、また今度、話す)

 

私自身、実際にエンジニアとしてスマホアプリ開発 => リリースの一連の経験がありますので、参考になると思う。

 

過去に開発 => リリースしたアプリはこちらです。

 

 

ポイント

ちなみに、この記事の主な目的としては、現役エンジニアの私が、技術の難易度や、費用、選択条件などを、経験談ベースで書いていきたいと思ってます。

 

wiki系の整理整頓・記事は別を当たってください。

 

ここら辺(スマホアプリを開発したい方必見!必要な言語やツールを解説)とかですね。

 

これからスマホアプリを開発したいと思っている個人の方や、企業の方の参考になれば嬉しいです。

 

金があるならJava、Swiftで良し

 

スマホアプリを開発する際、Android、iOS、別々に開発を進める必要がありますが、

 

資金やエンジニアが揃っているのであれば、JavaとSwiftでいいと思う。

 

Objective-Cは、もうオワコンだと思うし、

 

Kotlinは、モダンな言語として質が良いって聞くけど、Javaと同じように作られてるなら、エンジニア人口もJavaが多いと思うし、Javaを最初は選ぶ。

 

それで、JavaとSwiftはOSがサポートしている公式言語なので、このメリットは強いです。

 

それぞれのOSは、日々改良&アップデートされていますので、公式にサポートしてる言語はOSのアップデートの流れに遅延が発生しません。

 

また、以後、詳しく説明するけど、クロスプラットフォーム開発は、

 

細かな動きや、細かな実装の違いで、バグが発生したり、UIが微妙に変わったりします。

 

保守を考える上で、OSの公式言語を使うメリットは大きいです。

 

金がないなら、クロスプラットフォーム開発すべし

 

しかし、JavaとSwiftで二つのアプリを作るのはかなり難易度が高いと思う。

 

どうせアプリを開発するなら、Appleストア、Google Playストア、両方にリリースしたいに決まってます。

 

そう考えると、自分で開発するなら二つの技術のスキルが必要だし、人を雇うにも二人分のコストがかかります。

 

SwiftとJavaは、どちらもオブジェクト指向が強いClassベースの言語だけど、やはり巨大な違いはある。

 

開発環境もかなり違くて、

 

Androidスタジオと、Xcodeの使い方を、二つ覚えるのは辛いと思います。

 

だから、

 

そういう苦痛をなるべく避けるためのアイディアとして、

 

クロスプラットフォーム開発はおすすめです。

 

クロスプラットフォーム開発というのは、

 

一つの言語を書くだけで、iOSとAndroidのコードが最終的に吐き出される技術のことです。

 

実は、当社で開発を進めている二つのWebサービス、Meee!(みぃ)と、Language Exchangeも、

 

今、クロスプラットフォームの技術でアプリ化を目指しています。

 

例によって、クロスプラットフォーム技術も沢山あって、選ぶのに迷うと思います。

 

ポイント

Flutter

React Native

Xamarin

Unity

 

詳しくはここのQiita(クロスプラットフォームフレームワーク比較 2020)が勉強になると思う。

 

それで、俺はアプリ開発には、React Nativeを優先的に選んでいます。

 

 

 

 

React Nativeをアプリ開発で使うメリットは超あると思います。

 

例えば、言語技術にJavaScriptを使えるところです。

 

JavaScriptは、言わずと知れたWebブラウザでアクティブに動く唯一のプログラミング言語です。

 

Webブラウザで動くってことは、開発環境やバージョンのすり合わせなど ... etc プログラミングを始める前に必要な準備がゼロです。

 

コードを書いて、ファイルをブラウザへ叩き込めばそれで動きます。

 

仮にこれからモバイルアプリ開発をしようとしてる人で、プログラミング経験がない人でも、簡単に勉強が開始できます。

 

また、

 

例えばWebサービスの開発にReactとかを使って場合は、フロントのコードをそのまま転用できたりします。

 

一度ReactNativeを覚えれば、そのままWebのフロントエンド開発の技術も手に入ります。

 

プログラミング言語自体の勉強も、C系に比べたら学ぶのが遥かに簡単だと思います。

 

いかがだったでしょうか

 

以上で、この記事をまとめたいと思います。

 

まとめますと、

 

お金や時間がたっぷりあるのであれば、SwiftとJavaでアプリを作るのがおすすめです。

 

しかし、自分で開発する場合はスキルが必要だし、人へ頼むとコストが2倍になります。

 

そういうリスクを負いたくない人は、

 

クロスプラットフォーム技術を使いましょう。

 

クロスプラットフォーム技術は色々あるけど、俺はReactNativeを使ってます。

 

JavaScriiptは勉強するのが簡単だし、一度ReactNativeを書けば、最先端のフロント技術も手に入りますし、

 

勿論、ReactNativeはクロスプラットフォームなので、

 

一度コードを書けば、iOS、Androidのコードに変換されてとても便利です。

Pocket
LinkedIn にシェア

エンジニアにおすすめできる本

Card image cap
リーダブルコード

より良いコードを書くためのシンプルで実践的なテクニック

Card image cap
Webを支える技術

HTTP,URI,HTML,そしてREST

Card image cap
誰でもPythonで作れる

儲かるAIとソフトウェアの作り方

Card image cap
プログラマが知るべき97のこと

現場で使える実践哲学のマスターピース

Card image cap
情熱プログラマー

時代を超えて。ソフトウェア開発者の幸せな生き方

Card image cap
アジャイルサムライ

プログラミング達人開発者への道

Card image cap
Rubyを作った男 まつもとゆきひろ

コードの世界 スーパー・プログラマになる14の思考法

  • この記事を書いた人
  • 最新記事

藤沢瞭介(Ryosuke Hujisawa)

りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

-サービス開発, プログラミング

Copyright© off.tokyo , 2021 All Rights Reserved Powered by AFFINGER5.