見出し画像

自分のアプリを作ろう 2021

この記事は『自分のiOSアプリを作ろう2020』の2021年版です。
(ただし執筆時期は2020年12月です)

『自分のアプリを作ろう』のテーマは毎年書いていてこれが3年目です、当初札幌で毎月開催していたセミナーの内容をnoteで公開していましたが、2020年3月以降COVID-19感染拡大防止のためセミナー開催は休止しています。


予想もつかなかった2020年

2020年はパンデミックに翻弄された一年でした。
世界が変わってしまいました。
悪いことにこの状況は簡単に終わりそうもありません。

私のnoteのフォロワー数も記事のアクセス数も、ともに4月中旬からコンスタントに目に見えて増えています。
初学者向けのプログラミング記事が求められていることを実感しています。

おうち時間を生かすため、在宅でできるスキルとしてプログラミングに興味を持つ人すでに実践している人は確実に増えているようです。


プログラミングはものづくり

プログラミングと「ものづくり」は結びつかないかもしれません。
でも私は一貫して「ものづくり」だと思ってやってきました。

「ものづくり」といっても工場は不要です。
プログラミングに必要な設備はコンピューターだけです。
必要なインフラは電気とインターネットです。
材料は『情報』です。
そうです、開発に必要な情報はほとんどネットで得られます

つまり、ひとりで・おうちでできます。

個人開発はかつて労働集約的産業かつ家内製手工業の面がかなり強くありました。
現在はSwiftUIや膨大なフレームワーク(ソフトウェアの部品群)を手軽に利用できるようになり、状況はかなり変わっています。

フレームワークは基本的に職業プログラマーと同じものを使います。
開発に使うコンピューターについてもそれが当てはまります。

〜Proなどの高価な最高級コンピューターを使う開発者もいますが、それらはむしろビデオ編集や3Dのレンダリングなどの職種向けです。

材料費や宣伝費をほとんどかけずに開発できる事も特徴です。

1990年代までは「パッケージソフト」と呼ばれる箱に入った「ソフト」を売っていました。
開発側は箱やメディアやマニュアルの印刷や在庫、それに流通の心配が必要でした。
現在のApp Storeはそれらの問題を根本から解決しました。

「ものづくり」らしさとして、アプリが創意工夫しだいで輝く点もお伝えしたいと思います。
プログラミングは個性を活かせる「ものづくり」です。


素養としてのコンピューター利用

「コンピューターリテラシー」この言葉を耳にしてかなりたちますが、現在でも「デジタル」にアレルギーを示す人もいます。
これはとてもモッタイナイ状況です。
現在高性能のコンピューターがとても身近にあります。(スマホはセンサー満載の通信機能付き高性能コンピューターです)

誰でも年齢性別関係なしにスマホをはじめとするコンピューターを活用できます。
そしてそれが可能性を拡大・最大化します。

学生はもちろんですが、経験を積んだ人やシニアにもコンピューターに関する苦手意識がもしあればぜひ解消して欲しいです。

ちなみに現在シニア(年長者)の中にはコンピューターやプログラムの開発や普及に関わってきた人が少なからずいます。(私もそのひとりです)
1970年代のパソコン少年・少女は現在はそれなりの年齢なのです。

かつてはコンピューターの性能も不十分でしかも高価でした。
機種の選択から取り扱いまで、理系の知識を要求されました。
プログラミングに関する専門書も少なくこれまた高価でした。
コンピューターを操作すること自体、専門家の仕事とされた時代を経て現在状況は全く変わりました。

コンピューターは日用品となり、音声認識できるほどの高性能のデバイスが部屋の中や身の回りにあふれています!(21世紀らしい光景ですね😉)

コンピューターが高性能になったため、「使いこなし」の手段は多くの選択肢があります。
かつては利用可能なメモリーも少なく、処理速度も遅く、保存できるデータ量も少ないため技術を総動員してなんとかアプリにまとめて使いこなす必要がありました。
現在はこのような限界を気にする必要はほぼなくなりました。

日用品となったスマホやコンピューターを使うのにもはや理系の知識は重要な条件ではありません

OSのスクリプト系ツールや、エクセルなどのマクロ、簡易言語やDBソフトなどなど... 好みのものを気楽に使えます。

一方日用品として桁違いにたくさん使われるようになり、新たな使い方も可能になっています。
自分専用に作ったアプリを必要とする人が実は少なくないかもしれませんし、アプリで生産性を上げることにつながるかもしれません。

専門家向けの道具(アプリ)は専門家自身が作るのが一番です。
日常あるは仕事に必要なアプリ、自分が使うアプリを作ってください。


プログラミングをはじめよう

プログラミングにはコンピューターなどの機材が必要ですが、この記事を読む環境をお持ちであれば少なくとも情報収集はすぐにはじめることができます。

ピンチをチャンスに、積極的に変えるには行動あるのみ。
自分が変わらなければ流されるだけです。

ただし、人により向き不向きは確実にあると思います。
それを見極めるには少しやってみるのが確実です。
食わず嫌いだったがやってみると楽しくなったり、その逆もあるでしょう。

コンピューターの購入などの投資は、『自分に向いている』との確信が持ててからで遅くはありません

昨年まで記事タイトルを「自分のiOSアプリを作ろう」としていました。
今年は「iOS」を取りました。
iOS用もmacOS用も区別が少なくなってきました。
「アプリ」もApp Storeで販売しているものだけでなく、気軽に作った個人専用のものを含んでいます。

私がnote記事でよく使う Swift Playgrounds アプリでは、短いコードを実行できます。
シンプルにアプリのように使えます。

現在最新のMac(M1チップを搭載したMac)はiOSアプリを実行できます。
またアプリを作る時にiPad用のアプリをmacOSでも利用可能にすることができます(Mac Catalystと呼ばれる技術を使います・古いMacでもOSが新しければ作成や実行が可能です)。

M1チップを搭載したMacは手頃な価格ですが、コストパフォーマンスはさらに上がったようです。


何をターゲットにするか

この記事はアプリ作りを前提に書いていますが、プログラミングやITツールとしてはweb系もあります。
スマホやコンピューター向けアプリもiOSやmacOS以外にもいろいろあります。

共通する部分もありますがターゲットにより収集する情報が当然変わってきます。

少なくともiPadまたはMacを自由に使える環境ならiOSなどのアプリもweb系もどちらでも選択可能です。
iPhoneを使っている場合も、アプリを作った場合のテスト用に利用できます。

アプリの作成時には実際にデバイスで動作を確認する作業は必須です。
完成したアプリのテスト用にデバイスを購入するのは個人では負担なので、既にiPhoneを持っていればMacを調達するだけで済み有利です。

iOSのデバイスは日本でも世界でもとても普及していて、プラットフォームとして存続することにはしばらく心配ないでしょう。
企業内のプラットフォームとしてもOSのアップデートが確実で、将来ハードの追加購入など、入手やトラブル対応も心配が少ないため採用されています。
企業が一般へ提供するアプリもiOSを第一に企画される場合が多いようです。

iOSに限らずデバイス上のアプリであれば、自分の手元でいくらでも安全に試行錯誤が可能な点も初学者向けと言えます。


ひとりではじめられ ひとりで学べる

プログラミングには 免許 許可 認可 まったく不要です、自分用のアプリは誰でも作ることができます。(App Storeでの配布や販売にはAppleの審査があります)

ひとりで始められるメリットはたくさんあります。
状況が変わっても柔軟に対応できます。
誰にも迷惑をかけることもありません。

自由な時間に、自分のペースで情報収集できます。
ただし勉強が必要な内容は常に進化し続けるので、短期集中が最も効率が良くおすすめです。

2020年は『オンライン〇〇』がはやりました。
プログラミングも仲間ができるとオンラインで協力を求めることもできます。
逆に誰かの手伝いも(プログラミングだけでなく、自分が得意とするスキルで)可能でしょう。


バラ色ではない

ここまでは良い話ばかりしてきましたが、もちろん全てがバラ色ではありません。

膨大な情報を取捨選択し、継続しなければ完成しません。
取捨選択するためには多様なスキルが必要になります。

OSなどの環境は刻一刻変化するのでアプリ作りを続けるには、情報収集を続けなければなりません。
これを『勉強』と考えてしまうとキツイかもしれません。
反対に最新技術を調べたりいろいろ試すのが苦にならない人には向いています。

ひとりでやっていると、開発スケジュールの遅れや問題の発生にすべて対応しなければなりません。

どうしても実現できない機能は後回しにするなどの決断も自分でできるメリットもあります。

もちろん既にプログラミングを生業にしている人(将来の競争相手)はたくさんいます。
しかたなしに今から取り組んでも少なからずレッドオーシャンです。

興味のあること、熱意の持てる分野でなければ勝負できないでしょう。
でも、はじめる前にあきらめる必要はありません。
自分のこれまでの経験+プログラミングが強みとなるはずです。

個人も企業も大きく状況が変わった今だからこそ、発想の転換と行動で活路を見出しましょう。

でも無理は禁物です。
ひとりでやると長時間作業になりがちです。
腰痛 腱鞘炎 目の酷使などに注意が必要です。
在宅ワーク全般に言えることですが、かなり意識しないと運動不足になります。


ゼロからはじめるなら

未経験からプログラミングをはじめるためにAppleは Swift Playgroundsアプリ(プレイグラウンズアプリ)と教材として「コードを学ぼう」を用意しています。

画像1

どちらも無料で、iPadまたはMacがあればすぐに使えます。
コードを学ぼう」はあなた自身がプログラミングに向いているか・楽しめるかを確認できる手軽な教材です。

「コードを学ぼう」は中学生から取り組めるプログラミングの初歩の教材です。
予備知識なしで取り組めるようにしているため、解説は最小限です。
プログラミングの基礎をていねいに体験する内容です。
プログラミングには重要だけど少し難しい(背景をふくめると簡潔に説明できない)ために含まれない内容もあります。

新しいことを体験するのでちょっとした事で引っかかることもありがちです。
これにはプログラミング経験者に質問したり解説してもらいながらやるのが理想的です。
それは簡単には実現しないと思いますが、アドバイスするための電子書籍を書きました。

お知らせ
「コードを学ぼう」を終えた後または、やりながら使う参考に電子書籍を出しています。
未経験者のための『コードを学ぼう』ガイド (サンプルは無料です)

こちらのnoteにも書きました。


「コードを学ぼう」には少し込み入った内容は含まれないため、残念ながら1と2を終えた後でも、一般のプログラミングの入門書を見ると難しいと感じると思います。
プログラミングに向いている人が、その段階でつまずくのはもったいないので「コードを学ぼう」を終えてから取り組むべき書籍を出しています。


まず、自分専用のコードやアプリを作ろう

ここでのコードはアプリの一部あるいは習作です。
自分のイメージを実現できるか確認中の試作段階でかまいません。

アプリは上記のコードを組み合わせ、仕上げたものです。
おかしな操作や正しくない入力でも壊れたり異常な結果を表示しないようにするため、アプリを仕上げるには時間がかかります

最初は自分が使う機能をシンプルなコードで試すことからスタートするのがおすめです。

そのツールには Swift Playgrounds アプリが最適です。
目的が明確であれば情報収集もはかどります。
役に立つ部品(コード)がふえてくるとモチベーションも上がります。


自分の作ったコードやアプリを皆に見せよう

自分の作ったコードを見てもらい感想を聞くのもはげみになります。

アプリを作りApp Storeに登録すると、自分のスキルを示す名刺がわりにもなります。
App Storeに登録すると世界中からアクセス可能で、どの地域でどれくらいダウンロードされたかなどの情報も確認できます。
しかもApp Storeに登録する作業も、インターネット環境があればどこからでも可能です。

スモールビジネスであっても 地域限定を打ち破れる可能性があります。

App Storeに登録するにはプログラミングとは別の、手続きなどがいくつか必要です。
それらをクリアすることも立派なスキルです。

地場の小さな企業や個人がアプリを出そうとしてもデベロッパー登録や、これらの手続きが障害となっていることもあるようです。
あなたやあなたのスキルを必要としている人は案外身近にいるかもしれません。

やる・やらないの差はどんどん蓄積し積算されて行きます。

機材があるなら『やらなきゃ損』です!
アプリとしてすぐに完成しなくてもスキルは得られます、ぜひ継続してください。

自分のコードやアプリを作るため、さっそく行動しよう!


関連記事とマガジン

役立つ記事がありましたら♡をクリック(タップ)して応援よろしくお願いします!

昨年は今回とは違った切り口で書いています。

こちらは2019年に書いた記事です。

iOSアプリ作りのための基礎的な情報をまとめたマガジンです。
有料記事もおよそ半分試読できます、自分に合った情報を見つけてください
プログラミング経験が少しある人向けです。

SwiftUIの初歩を解説した記事をまとめたマガジンです。

他にもマガジンにまとめています。


今後もnoteの記事やマガジンを追加するつもりです。
引き続きよろしくお願いします。

今後も記事を増やすつもりです。 サポートしていただけると大変はげみになります。