アプリ開発初心者が知らない9つの事実
こんにちは、副業愛好家のきしんです
僕は足掛け2年ほどで最初にプログラミングを勉強し始めてから、ようやくアプリリリースまでこぎつけました
しかし、途中でつまずくこと多々…
そんな経緯をまとめたのがこちらの記事です
今回は、上記の記事では伝えきれなかったこととして、僕がアプリ開発で最初に知っておきたかったことをまとめます!
この記事はこれからアプリ開発を始める方向けに書いています
PCはMac推奨
まずは開発環境を整えることになります
このnoteもユーザーの大半がスマホだと思いますが、開発をスマホでできる時代はまだ遠いです
PCを用意しましょう
そこで問題になるのが、WindowsかMacかということ
推奨はMacです
理由は、「iOSアプリのストア申請はMac Book経由じゃないとできないから」です
もうこれは動かしがたい事実で、Apple社がそう決めているので諦めてください
ただし、iOSアプリの開発は後述するマルチプラットフォーム開発をすることで、Windowsでも可能となります
つまり、あくまで公開できないだけです
Androidアプリの開発・公開はWindowsでもMacでもできます
普段自分が使っているスマホがAndroidかiOSかで決めたらよいと思います
ただし、エンジニアは先ほどのiOS開発にMac必要問題や、そもそもの使いやすさなどからMac利用者が圧倒的に多いです
そのため、開発ツールの使い方などはエンジニアの世界では基本Macを前提に説明されるので覚悟しておいてください
まとめるとこちらです
【PCのOSそれぞれのメリット】
・Windows
そもそも持っていたり、使い慣れている人が多い
Androidの開発・公開が可能
iOSの開発が可能
・Mac
AndroidとiOS両方の開発・公開が可能
エンジニア界の主流で、ツールの使い方など情報はMacのほうが多い
ちなみにMac Bookを買うなら、メモリ16GB以上のMac Book Proにしてください
それ以下だと動作が重くてストレスが半端ないです
僕の場合は下記の流れで3台使いました
【僕が開発で使ったPC】
①Windows Let's note 4GB
→もともと持っていたもの
②Mac Book Air 4GB
→中古でMacをお試し購入
③Mac Book Pro 16GB
→中古で開発用のスペックを改めて購入
仲間やコーチがほしければもくもく会へ
もくもく会という、どなたでも参加できるエンジニアの作業会が、日本各地さまざまなところで、色々な方によって開かれています
基本的には自分の開発作業をするための会ですが、
エンジニアは親身な方が多いので、わからないところがあれば教えてくれます
ただし、最初から最後まで張り付いて教えてくれるようなところはあまりないと思います
質問ポイントが明確な状態や、すでにネットで調べ尽くした段階で行った方がよいでしょう
もくもく会はconnpass(コンパス)で探せます
だいたいは作る言語などでもくもく会が分かれていますね
独学におすすめ!ドットインストール
独学できる教材は、書籍やネットの学習サイトなどがあります
僕はその中でも「ドットインストール」をおすすめします
すべてのレッスンが実践形式で、講師と一緒に自分もコーディングしていくのが特徴です
そのため、自分ではやり方がわからないということもないですし、
何よりいいのは、講師がバグを起こした際にどのように解消しているかを見て、マネできることです
コーディングは半分くらい、もしくは大半の時間がバグとの戦いといっても過言ではありません
それほど「バグフィックス」は大事なことです
本などを読んで「うまくいく」前提でプログラミングするのではなく、「バグを起こしつつも直していく」スタイルでの勉強法をおすすめします
わからなければ、とにかくググる
「わからないとき、どうするか」
これが初心者にとって大きな課題ですが、下記の方法があると思います
【わからないときの代表的な調べ方】
・本で調べる
・学習サイトで調べる(ドットインストール、progateなど)
・プログラミングスクールに通う
・もくもく会で聞く
・エンジニアの友人に聞く
しかし、最初に取るべき方法は違います
それは「ググる」ということです
昔ながらの勉強法だと、学校や塾、本などの教材の中に一番答えがありそうな気がしてしまいます
しかし、プログラミングなら確実に「ネット」に答えはあります
気になること、困ってることを調べて上に出てきたサイトを見ればOKです
参考までに、よくお世話になるのはこちらです
・stack overflow(スタック・オーバーフロー)
・teratail(テラテイル)
・Qiita(キータ)
エンジニアは、自身の備忘録のために記録したり、
他の人に同じことを何回も聞かれるのが面倒という観点で、
ネット上にハウトゥーを公開している人が凄まじく多いです
そのため、必ず同じような問題で困っている人が見つかります
プログラミングの場合は、日本語だけでなく英語でも検索してみると、より答えがみつかりやすいです
エンジニアの友人最強説
前項でググれと伝えましたが、それも面倒だし、わからなかったりしますよね?
結局一番早いのが「人に聞く」ということです
聞く相手は下記の候補があると思います
【プログラミングのことを質問できる相手】
・プログラミングスクールの講師
・もくもく会に来ている人
・会社のエンジニア
・エンジニアの友人
この中で一番ラクに聞けて、金銭のやりとりも発生しない「エンジニアの友人」をおすすめします
様々なところであった「知り合い」を「友人」に変えていくコミュニケーション能力がここで大事になりますね
コンソールでデバグが基本のキ
前にも書きましたが、エンジニアリングはバグとの戦いです
バグが起きたとき、どうするかが非常に重要です
そのときの基本的な対処方針は下記の通りです
・エラー文を読む
・エラー文の意味がわからなければググる
・コードのどこで問題が起きているか特定するために、原因っぽい箇所のデータがきちんと入っているかをコンソールで出力する
console.log()
これにどれだけお世話になったかわかりません
iOSのストア公開は面倒
Androidの「Google Play Store」とiOSの「App Store」、みなさんはどのようなイメージを持っているでしょうか
僕はApp StoreよりGoogle Play Storeのほうが出ているアプリが多く、また玉石混交なイメージです
これには3つ理由があります
【App Storeのアプリが比較的少ない理由】
・Play Storeの登録料が初回2,700円に対して、App Storeは12,000円と高い
・App Storeのほうがストア申請に必要なもの(規約やキャプチャ画像など)が多くて大変
・Play Storeは自動審査だが、App Storeは人が目で見て、かなり様々な理由で審査に落ちる(アプリのクオリティが低いなど)
こんな諸々があるので、自分がiOSしか持っていないという人以外は基本的にAndroidでの開発をおすすめします
そんな事情もあり、最近エンジニア界隈では、アプリストアに公開しないでネットに公開するというやり方も流行ってきています
ただ、日本はiOSのシェアが64%、Androidは35%なので、悩ましいですね
マルチプラットフォーム開発は最強
アプリ開発というと、基本的には
・iOSはXcode(エックスコード)という環境でSwift(スウィフト)という言語で書く
・AndroidはAndroid Studio環境でKotlin(コトリン)言語で書く
ということになります
要するに、全然別の方法でそれぞれ作らなくてはいけないのです
それを避けられるのが「マルチプラットフォーム開発」!
僕が使っているReact Native(リアクト・ネイティブ)なら、iOSアプリ・Androidアプリに加えてWebページも同じJavaScript(ジャバスクリプト)で作成可能という素晴らしさです
ちなみにReact Nativeで開発された主なアプリにFacebook, Instagram, Airbnbなどがありますので、そういった意味でもクオリティは折り紙付きです
僕が作ったこちらの「記念日カウント」はReact Nativeで開発しました
Android
iOS
テキストエディタはVS Codeが主流
あと何を選べばよいかわからないのは、テキストエディタでしょう
テキストエディタで一番知られているのはWindowsの「メモ帳」だと思います
Macにも似たような標準搭載のテキストエディタで「テキスト エディット」というのがあります
しかし、どちらも開発には不向きです
開発者としてほしい機能として下記があります
【テキストエディタに求めること】
・検索/置換
・様々なショートカットキー
・インデントの記憶
・行の折りたたみ
・Git Hubとの連携
・全角・半角の空白や「l・I・1」「0・O」などを見分けやすいフォントの設定
・開発言語などに併せた拡張機能(文字色設定や入力補完をしてくれる)
ほか多数
これらを兼ね備えたテキストエディタとして、最近主流なのが「Visual Studio Code」(ビジュアル・スタジオ・コード)、通称「VSコード」です
Microsoftによって開発された無料の良アプリです
ぜひ使ってみてください
まとめ
以下がアプリ開発初心者が知らない事実9つです!
01:PCはMac推奨
02:仲間やコーチがほしければもくもく会へ
03:独学におすすめ!ドットインストール
04:わからなければ、とにかくググる
05:エンジニアの友人最強説
06:コンソールでデバグが基本のキ
07:iOSのストア公開は面倒
08:マルチプラットフォーム開発は最強
09:テキストエディタはVS Codeが主流
これから開発を目指す方の参考になれば、幸いです
こちらの記事も是非読んでみてくださいね
皆さんの「スキ❤️」「コメント💬」「フォロー👍」が記事作成の大きなモチベーションになっています!ぜひよろしくお願いします!💪
もしよければサポートをお願いします! ご希望の内容の記事があれば、執筆も検討いたします。