彼女と一緒にTechAcademyでiPhoneアプリ開発やってみた話

f:id:McG:20170605184823p

こんにちは!大学生エンジニアの迫です.

先月は12万PV超えと,ブログ運営もかなり好調です.いつもよんでくださてる皆様,ありがとうございます!

さて,僕は今まで,TechAcademyのWebアプリケーションコースUnityコースを受講してサービスやゲームをリリースしてきました.

今回なんと,僕の彼女と一緒にTechAcademyのiPhoneアプリコースを受講することにしました

全力でおすすめできるTechAcademyだからこそ彼女に勧めてみようって思えるわけです.

さらに,今回は彼女にブログ記事まで書いてもらいました!iPhone開発初心者でもこれだけ作れるっていう参考にしていただければと思います

TechAcademy受講の経緯

なんでいきなり2人で受講するのかって思った人も多いですよね.

いつもブログを見ている彼女からこんな一言があったからです.

ともえちゃんのアイコン

私もiPhoneアプリ作れるようになりたい...!!

どうやったらいいかな〜?

私は今までTechAcademyのカリキュラムを受けていて,間違いなく力がつくと確信していたので,迷わず彼女にも勧めました.

彼女に勧めてる途中,僕はふとこんなことを考えたんです.

20170601221822

彼女と2人でプログラミング勉強とかめっちゃよくない...?

スキルもつくし楽しいし共通の話題もあるし最高じゃん

一緒になにか作業するってすっごく憧れるんですよね.

おしゃれなカフェとかおうちでゴロゴロプログラミングデートとかなんかよくないですか??

そんなこんなで,彼女にオススメするだけでなく,今回私もTechAcademyのiPhoneコースを受講してみることにしました!!

基本的にTechAcademyはオンライン教材なので多分カリキュラムを2人でこっそり見てもバレないんですが,やっぱりTechAcademyは長く続いてほしいサービスでもあるしお世話になっているのでしっかり2人分の料金払いました.

iPhoneアプリコースの内容

iPhoneアプリコースも,今まで受けた各コースの内容に劣らず,かなり充実していました.

この内容をしっかりと理解していれば普通に仕事がもらえるレベルでしっかりしてます

その中でも特に良かったなって思ったのが,「インスタグラムを作ろう」という内容のカリキュラム.

以前私は当ブログで,「プログラミングをマスターするならとにかく手を動かすべきで,既存のサービスが持ってる機能とかを自分試しに実装してみるととても力がつくよ」という記事を書きました.

インスタグラムという誰もが知っているアプリと同じ機能を持ったアプリを自分で作ってみることで実力がついたことを実感することが出来る,かつかなり実践的なチカラをつけることが出来るカリキュラムだな〜と思いました.

では,ここからは彼女さんにバトンタッチします!!

かなり本格的なアプリを作れるようになることにびっくりこと間違い無し.

Instagramを作成してみた

初めまして,音石朋恵と申します.

写真の右の人が私です.

f:id:McG:20170605173714j:plain:w400

今回TechAcademyのiPhoneアプリコースを受けてみたのでちょっと記事を書いてみることにします!

カリキュラムも終盤に入ってくると,実際に利用されているアプリケーションに近いものを作りながら,その中で使われている技術を習得していく形になります.

今回は皆さんおなじみのInstagramのクローンアプリを作成しました!

f:id:McG:20170605184332j:plain:w300

このアプリでは最終的にアプリで撮影した写真や,あらかじめiPhoneのアルバムにある写真を加工し,タイムラインに投稿することができます.もちろん,ログイン・ログアウトなどのアカウント管理もできちゃいます.

f:id:McG:20170605184919p:plain

このクローンアプリを作成するにあたり,以下のような重要な技術を学びました.

  • タブを用いた画面推移
  • Firebaseを用いたデータ管理
  • 写真やカメラの呼び出し方
  • Adobe Creative SDKを用いた写真加工

では,もう少し詳しい制作過程を見ていきたいと思います.

タブを用いた画面遷移

カリキュラム中に用意された素材を用いて,タブを作成していくと,簡単にかなり見栄えのいい画面になりました.

f:id:McG:20170605184947p:plain:w350

自分でアプリを作るとなると素材も自分で調達しなければなりませんが,プログラミングスクールでは素材があらかじめ用意されているので余分なところで時間を取られることなく学習を進めることができます.

Firebaseを用いたログイン・ログアウト実装

Firebaseとはサーバに関する知識がなくても簡単にデータ管理ができるサービスのことです.

firebase.google.com

GoogleのサービスなのでGoogleアカウントで利用することができます.

コンソールの「プロジェクトを追加」でプロジェクトを作成することができ,「Authenfication > ログイン方法」で様々なログイン方法を設定できます.

f:id:ottosan84:20170602141411p:plain

今回はメールアドレスとパスワードを使った認証を使いましたが,FacebookやTwitterなどのSNSアカウントを用いたログイン機能も簡単に実装することができ,さすがGoogleという感じですね.

f:id:McG:20170605185239p:plain

コンソールの「iOSアプリにFirebaseを追加」を選択し,指示に沿って設定を行っていきます.

f:id:McG:20170605185116p:plain

これを見ていただくとわかるように,FirebaseはiOSアプリだけでなく,AndroidアプリやWebアプリでも使うことができます.

そんなこんなで,ログイン画面の作成等をやっていくと,アカウント管理の部分の実装ができました!

f:id:McG:20170605185131p:plain

写真やカメラへのアクセス

画像を投稿するサービスなので,iPhoneについているカメラや,今まで保存した写真が保存されている写真ライブラリと連携を取る必要があります.

ライブラリやカメラへのアクセスは UIImagePickerというクラスを使えば,難しいプログラミングをすることなく,とても簡単にできました.

f:id:McG:20170605185256p:plain

かなり実際に使われているアプリに近いものになってきた感じがします!

写真加工画面の作成

ここからは,インスタグラムのメイン機能である画像の加工機能を実装していきます.

写真の加工なんて…難しそうと感じるかもしれませんが,画像加工ソフトでおなじみのAdobe社が開発してくれている無料の開発キット導入すると,驚くほど簡単に実装できてしまいます!

Adobe Creative SDK

ちょっと設定をするだけで,かなり高機能な写真加工ができるようになりました!画像にエフェクトをかけたり,明るさ等の調整や文字の挿入など,紹介しきれないほどたくさんの機能が短時間でできてしまいました!

f:id:McG:20170605185418p:plain

実際に,私は大学の授業で画像処理のプログラムを書いたことがあり,自分で写真の加工を実装しようと思ったら1つの機能を作るだけでも結構大変であることを知っているので,Adobe開発キットのありがたさはとてもよくわかりました.

写真の投稿,タイムラインの実装

実は,今までに画像を出す簡単なアプリやToDoアプリを作ってきたのですが,その時に習った知識がタイムラインの実装で活きてきました.

今までの知識を使い,写真の投稿画面やタイムラインを実装していき,ついにアプリが完成しました!

f:id:McG:20170605185433p:plain

まとめ

ここまで読んでいただけたならわかってもらえると思いますが,学べることがめちゃめちゃ多いんです.

  • 基礎的なiPhoneアプリの作り方
  • ユーザ登録,ログイン,ログアウト機能の作り方
  • いろんなデータ(画像など)を保存しておく外部データベースの使い方
  • 画像編集を出来る等のライブラリの導入方法

これらの機能を実装できるスキルがついたら,普段みなさんが使っているアプリのメインの機能は結構作れちゃうんじゃないでしょうか?

初心者向けの書籍では,Firebaseなどの応用スキルは扱っていません.

高度なことを扱うので,なかなか難しかったですが,良いカリキュラムだったと思います!

割引効きます!

最後だけ,再び迫がお送りいたします.

いかがだったでしょうか?予想以上のクオリティじゃないですか?

TechAcademyには,紹介者割引といって,卒業生からの紹介で割引がきくので,@yuki_99_sまでダイレクトメッセージを送信ください!1万円の割引がきくのでお得です.

このブログのサイドバー(携帯の場合は最下部)にあるお問い合わせフォームからご連絡いただいても大丈夫です.

プログラミング,2ヶ月の学習で一生もののスキルを得られます.良ければ是非!

© 2016 Yuki Sako.