最近、スマホアプリの開発に興味を持たれている方がだいぶ増えてきましたよね。
やっぱりスマホって身近に使えますからね。
実際に何かを作って売りたい!って言う人もいるでしょうが、単純に作ってみたい!って言う人も多いと思います。
スマホアプリ作ってみたいなぁ・・・・
ただ、じゃあいったいどうすれば・・・・。
そう思って結局何もやらずに時が流れていく人が多いと思います。
私の息子も「スマホアプリ作りたい!」と言いつつ、何もしません(笑)
に・・・・・似てる><
たまに本は眺めているようです(笑)
やりたい!とは言ってます(笑)
スマホアプリを作る場合の最初の分かれ道!iPhoneのiOS or Android
スマホアプリを作ってみよう!となった時に最初の分かれ道というか・・・・。
いずれ両方作りたい!と思う方も多いかもしれませんが、まずはiPhone用なのかAndroid用なのか・・・
というところで分かれると思います。
どちらを作るかによって、最初の準備も変わってきます。
iPhone用(iOS)アプリの開発
iPhone用のアプリを開発したい!と思って調べると、Macが必要><
ということがわかってくると思うので、すぐに諦めていた方が多かったんじゃないかなと思います。
一般的にはXcodeと呼ばれるIDE(統合開発環境)を使って開発していく事が多いので、その場合はMacを準備する必要があります。
しかも古いMacではダメで、現状だとMac OS Catalina(10.15.2以降)ですね。
Macが必要なんかい!!
Mac使いの方であれば良いんですけどね。
普段Macを使っていないと、まずこの準備の段階でなかなかハードルが高いです。
結構値段もするしなぁ~
iOSとは使い勝手が結構違いますからね。
普段iPhone使ってるから大丈夫・・・・と思ったら大間違いです^^
私は仕事柄、両方使うんですけど、やっぱりメインで使うのはWindowsなので、Windowsの方が慣れてる分使い勝手はいいですね。
このXcodeで開発を行う場合のプログラム言語が「Swift」になります。
Appleが開発したプログラム言語です。
これがApple製品に対応した言語になります。
Xcode:Swift
多くの方が、Macを避けて別のもので試行錯誤しようとしますが、確かに開発してシミュレータで動かす、という部分まではWindowsでもできますが、最終的にビルドして公開するにはやはりMacが必要になるので、iOSのアプリを開発するのであれば王道のXcode:Swiftという環境・言語でやるのがベストになるかと思います。
このSwiftは2014年に発表された新しい言語ということで、最新の設計思想で作られて、しかも高速で比較的わかりやすいスクリプト言語ということで、それまでのObjective-C に代わって今のMAC系の主流になっています。
しかもオープンソースですから、環境さえあれば簡単に開発をスタートすることができます。
Macが準備出来れば、後は前に進むのみです。
とにもかくにもまずはMacって事か・・・・
Xcodeを使ってプロジェクトを作る流れがとても参考になると思います。
まずは環境を作ってやってみる・・・というのが大事になると思います。
ただ・・・・。
そうは言ってもいきなりMacを買って・・・・というのに少し不安を感じる事もあるかと思います。
少しいじってやってから・・・・そういう感覚にもなると思います。
・・・ということで、Windowsのパソコンを既に持っていればでSwiftを一応体験できますので、そちらをご紹介します。
「Swift for Windows」というものを使用する方法ですね。
こちらの「Swift for Windows」のサイトからSwiftのコンパイラをダウンロードして実行できます。
ダウンロードした実行ファイルを起動するとこういう画面になります。
このSwift for Windowsは情報があまり多くありませんが、Swiftのコードを作成し、コンパイルと実行は出来るのでちょっと試すのにはちょうどいいと思います。
私も実際に少しいじってみましたが、非常に簡単です。
ただ、日本語がUTF-8じゃないとコンパイル中に落ちます。
しかもUTF-8では落ちないんですが、文字化けします。(どういうこっちゃ!)
だから、日本語は使わないで作成するのが良いと思います^^
ちょっと試してみるのになかなか良さそうだな・・・
Playgrounds:Swift
はい、実は2021年12月16日に『Playgroundsアプリ』というのがiPad OSからリリースされました。
これの登場によって、Macが無くてもiPadがあれば開発が出来るようになりました。
プログラミング言語はXcodeで作る時と同じようにSwiftです。
Xcodeほど細かい部分は難しいとの事ですが、Xcodeに比べてシンプルで簡単ということで、ちょっと初めてみるにはとても良さそうです。
もしMacは無いけどiPadは持ってるというのであれば、まずは雰囲気を掴むのにはいいかもしれませんね。
iPad持ってません
Appleのページでも積極的に紹介されているアプリなので期待はできますね。
ただ、一応iPadアプリなので残念ながらiPhoneでは開発はできません。
まぁ、iPhoneだと画面も小さいので開発しづらいでしょうけどね^^
iPadアプリということもあり、ユーザーインタフェースは使いやすそうな印象です。
もし既にiPadを持っているのであれば試したいアプリですね。
iPad欲しくなっちゃった
Android OS用アプリの開発
Android OS用アプリを開発する場合、いろいろな選択肢があります。
iPhoneのアプリを開発する場合には、基本的にはMacが必要でしたが、Androidの場合はそういう事はありません。
WindowsでもMacでもLinuxでも問題ありません。
ほほう・・・・
そして言語については、Java、Kotlin、Dart(Flutter2)、JavaScript(React Native)、C#(Unity)、C#(.net)などなど色々なものが対応しています。
それぞれの言語毎に向き、不向きはあるでしょうが、どういうものを作りたいかによって自ずと方向性は決まってくると思います。
例えば、人気のUnityではゲームの開発が向いている・・・とかね^^
ゲームなんて作れたら超楽しそう♪
直感的な操作で2Dも3Dも比較的簡単に作れる魅力があります。
そんな感じでそれぞれの言語には多かれ少なかれ特色があります。
自分がどんなものを作りたいのか、そしてそれを作るには何が向いているのか・・・・そういうのを調べるのもちょっと楽しいかも♪
iPhoneのiOSアプリを勉強するには
独学で学ぶ
プログラム全般でだいたいそうですが、勿論独学で学ぶ事が出来ます。
独学でしっかり学ぶ場合、先ほどご紹介したPlaygroundsアプリでも良いのですが、多少ハードルは高くてもXcodeを使った開発をおすすめします。
シェアが大きいもので始めた方がつまづいた時の解決も早いです。
難しい壁にぶつかったとしても、利用者の多いものであればググればすぐに解決することも多いです。
利用者が多いとアウトプットしている人が多いから解決しやすい♪
・・・というのも現状では圧倒的にXcodeが多いですし、apple自体がこのXcodeの製作者なので、iOSのアプリを開発するのであればやはりXcodeでがんばるのがベストだと思うからです。
ちょっと試しで他のものをやるのはいいと思うんですけど、しっかり本気でやるのはやはりXcodeがいいですね。
その為にMacもやはり必要になります。
XcodeによるSwiftを学ぶのに役立つサイトが幾つもあるので、そういうのを徹底的に利用するのが良いと思います。
『Xcode Swift チュートリアル』で検索するとたくさんヒットすると思うので、その中で自分に合うチュートリアルを試していただければと思います。
ここらへんを見ながら実際に作ってみるだけでもだいぶ理解度は増すのでは?と思います。
オンラインスクールで学ぶ
昨今のプログラミングスクールでは、このiOS用のアプリ開発に特化したコースやスマホアプリ用のコースもあります。
そういうのを利用するのも良いと思います。
よっぽど意思の強い方でないと独学でやりきる・・・というのはかなりハードルが高いですし><
例えばTechAcademy(テックアカデミー)ならiPhoneアプリコースというのもあります。
一つに集中して取り組むには最適なコースですね。
ここのコースの特徴としては、4つの種類のアプリを作成するカリキュラムになっています。
・横スクロール型アクションゲームアプリ
・タスク管理アプリ
・Instagramクローンアプリ
・オリジナルアプリ
一通り、学びたい部分を網羅・・・・とまでは言いませんが、それに近い部分を学べます。
人によってどこが一番学びたい部分かは変わってくると思いますが、それぞれ特徴の違うアプリの開発を学べるのは大きいですね。
結構いろんなのを作るんだね
iPhoneアプリに特化して学びたいなら、こういう特化したコースを選ぶのが良いと思います。
アンドロイドOSアプリを勉強するには
android OS アプリの開発では、色々なパターンがあるので、まずは何を学ぶか・・・・ですよね。
アンドロイドOS用の言語はさまざまで、色々な可能性があります。
ゲーム開発という意味ではUnityが有名ですが、ゲームの中で有名な「Minecraft」などは『Android Studio:Java』でできています。
MinecraftってJavaだったんかーい
アンドロイドではJavaやKotlinと言ったところが利用されるケースが多いですが、最近はゲームでC#(Unity)というパターンも増えてますよね。
色々参考にしながら自分に合ったものをまずは選びたいですね。
独学で学ぶ
自分がどの言語をやるかが決まったら、独学で勉強するという手でレベルアップすることはできます。
たいていの言語は無料で始める事ができますし。
android Java、Kotlin
android JavaやKotilinも非常に多くの方がチャレンジしていますので、何かつまづいても解決への道筋が早く見つかると思います。
そしてチュートリアルもやはりたくさんあります。
まずはチュートリアルを実際に一つ一つ試しましょう!
試しつつ、少し変更して・・・・というのをやっていく感じですね。
それだけでもだいぶ違います。
Android StudioとJava、Kotilinの組み合わせで調べて、その内容をひたすら実践ですね。
なんだかんだ言ってもやっぱりJavaやKotlinがシェア的にはかなり多いと思うので、こちらを学んで損は無いです。
無難と言えばそれまでですが、外せない言語とも言えます。
いろいろと試してみるとしても、まずは無難なところが結局外せない部分って訳ね
C#(Unity)
人気のC#(Unity)は参考になるサイトも多く揃っています。
詳しいところは検索して頂ければと思いますが、チュートリアルの内容を読みながら作ってみるだけでもかなり覚えられそうですよね^^
しかも、かなり実践的なものが多くて面白そうです^^
いろんなゲームの種類の作り方講座があるので、まずは、例のものを作ってみてそれを少し改良したりして新しい事を覚えていくのがいいのかな?と思います。
ゲームの作成はモチベーションもあがりやすいので、単純ななかでも自分が興味あるものを作っていけば、もうワクワク感がどんどん出てきます^^
ここをこういう風に変更するにはどうすればいいんだろう?
というような事の積み重ねがレベルアップに繋がります。
いきなり0からオリジナルのものを作るのではなく、サンプルから改造していくのが良いです。
そういうのを繰り返して、いずれオリジナルの制作に進みましょう!
オンラインスクールで学ぶ
このandroidアプリプログラミングについてもオンラインで学ぶ事ができます。
iPhoneアプリの時と同じようにTech AcademyならAndroidアプリコースがありますし、Unity+Androidアプリセットというセットも用意されています。
こちらもやはりTechAcademy(テックアカデミー)で専用のコースが用意されています。
Androidアプリコースは勿論、Unity+Androidアプリセットというセットも用意されています。
目的が決まってれば、こういうのを選んだ方が絶対効率はいいよな・・・
まぁ、手っ取り早いですよね。
勿論お金はかかるので、そこは優先度とお金の懐具合と相談しながらですけどね。
まとめ
強い意志があるなら独学でチュートリアルを見ながら・・・で良いと思いますが、お金に余裕があり、確実にマスターしたい!ということであれば、オンラインスクールを利用して学ぶのが良いと思います。
チュートリアルはこちらのページで幾つかご紹介しましたので、それを利用して、レベルアップを図りましょう!
オンラインスクールについても評判の良いところしか紹介していないので、その中で自分に合いそうなところを見つけて利用すれば良いと思います。