見出し画像

iOSアプリで一人前になるために必要な知識

こんにちは!株式会社Antiphaseのタノモクです。

iPhoneアプリの開発を初めてそろそろ10年になります。

アプリ開発者として独立したいという方が増えてきました。

社会的に開発者が足りないのでありがたいことです。


しかし、アプリ開発は独立するまでに学ぶことが多く時間がかかります。

しかも何を学べばいいのか、どこに書かれているのかわかりずらいという問題もあるため、ここでまとめてみようと思います。

対象はアプリを1,2年以上学んでいて一人でアプリを作ったことがない方です。

誰かのフォローをして作業をしていると自分がそもそも何をしていないのかわからない部分があるので、ここにアンテナ貼っておくといいよ!と思う内容をあげておきます。

次のステップアップのための手助けになれば幸いです。

画像1

アプリ開発を勉強して間もない方へ

いきなり脱線。

初心者向けの本に書いてある実装方法と現場レベルの実装方法は天と地ほど違います。

独学だけでアプリを作ると後半、大炎上しますので気をつけてください。

ただし、プログラム本を写経することは確実に次の学びへと活かせます。

無駄ではありません。必要なことです。

次は勉強会に参加するか誰かの下で学ばせてもらうことをオススメします。


WWDC(Worldwide Developers Conference)

アップルが毎年6月ごろに開催している世界開発者会議。

ここでは、アップルの最新情報が発表されます。

新しい機能が追加されると楽しいですよね。

アプリ開発者として認知しておかなければいけない事実は、

「1年ごとに開発環境の仕様が大きく変わります」

ということです。

・XcodeのUI

・Storyboard(xib)の設定方法

・Swiftの言語仕様

・iTunes Connectの申請方法

・審査方法の変更

などなど毎年何かしらの仕様が変わります。

検索しても一年前の情報がもう古いなんてよくあること。

対応しないと審査が通らない事もあります。(リジェクトをくらう)

常にイノベーションを起こしているアップルの言語ですから、

どのエンジニアよりも常に最新情報をチェックする必要があります。

パッケージ管理ツール

Cocoapods, Carthage, Swift Package Managerなどいわゆるライブラリを管理してくれるありがたい存在。

最近ではXcode11の登場でSwift Package Managerが使いやすくなっています。


Androidとの差異

クライアントがAndroidユーザーだった場合、我々iOSエンジニアは苦労する事があります。

Androidでの当たり前がiPhoneでの当たり前ではないからです。

画像2

AndroidとiPhoneで機能は似ていますが、そもそも存在しないものがあります。

例えばこんなところ

・物理戻るボタン(Androidも最近なくなってきている)

・リストビュー

・通知をタップした時の挙動

まだまだありますが優秀な方々がまとめてくださっているので以下の記事にデリゲートします。

Webとの差異

例えばクライアントがWeb畑の方だったとします。

Webのサービス(Webアプリ)をスマホアプリに移植したいと言います。

その時にWebとの大きな違いを説明できますか?

基本的な違いはこちらの記事がわかりやすいです。

他にも実際に仕事で困ったことがあります。

Webアプリとスマホアプリでは導線が大きく異なります。

Webアプリの場合、どこからでも簡単にHome画面に戻れるのが普通かと思います。(パンくずとかも設置してありますし)

スマホアプリの場合は遷移がある程度決まっているのでどこからでも好きな場所に遷移してよいという設計だとユーザビリティが大きく下がります。

クライアントがどの畑から来た人かを意識しましょう。

相手を理解しようとする姿勢はお互いの良い信頼関係を生み出します。


UI / UX

意外と見られていないアプリ開発者のバイブル「Human Interface Guidelines」

特にディレクターさん、デザイナーさんがUI / UXを気にしていない場合も多くアプリ実装者がUI / UXデザインを検討するケースもあります。

画像3

当たり前品質向上のためにも必須の知識となります。

CIツール

テストやデプロイなどを行ってくれるインテグレーションツール。

大人数開発では必須となっています。

全てを使える必要はありませんが、一つだけでも使えていると応用が聞きます。


まとめ

他にもアーキテクチャ、テストなど色々ありますが優先度高そうなものを書きました。

全てを経験するには先輩の下についていては中々進みません。

最短の道は「自分でアプリを作ってみる」に限るかと思います。

アプリ開発はエンジニアが足りていないのでまだまだチャンスはあります。

クリエイティブで面白いお仕事だなと感じます。

というわけでステップアップして一緒によりよいサービスを作っていきましょう!

↓どうぞ個人開発の沼へ


この記事が気に入ったらサポートをしてみませんか?