スマホアプリ開発コースの概要

個人のスマートフォン向けアプリ開発ニーズと、受託クライアントのiOSおよびandroid対応ニーズを受け、 3つの開発環境に対応した「スマホアプリ開発コース」です。全6個のアプリを開発していきます。 個人アプリの公開ニーズ、企業案件でOSによる個別対応ニーズ、ゲームやAR/VRアプリなど、 さまざまなニーズや用途に対応できるスマホアプリのスペシャリストを目指していただきます。 【ご留意点】 ・SwiftUI編にはMacパソコンが必要です。MacOSを他のパソコンにインストールするといったサポートは致しません。 ・「AppStore」および「GooglePlay」への公開申請、Developer登録は、カリキュラムに含まれません。
■SwiftUI編:iPhoneアプリ開発
「Swift」とは、Apple社が開発したプログラミング言語です。
そして、「SwiftUI」とはiPhoneアプリやMacアプリのユーザーインターフェースを簡単に構築できるフレームワークです。
開発ツールは、「Xcode」という開発ツールを使います。
当カリキュラムでは、SwftUIでよく使うコンポーネントとモディファイアの使い方を学びます。
●落書きカンペ(Wi-Fi共有)
【Swift編 第1章で学ぶこと】
・@State Property Wrapperの使い方
・@Environment Property Wrapperの使い方
・アプリがバックグラウンド、フォアグラウンドに入る時の処理
・UDPでのデータ送受信
【開発するアプリ】
複数の端末(ユーザ間)で落書きを共有するアプリです。
ソケット通信の技術(Network.framework)を使います。
ペンの色を変えたり、太さをスライダーで調節できます。
●指差し単語帳(イメージ検索・翻訳連携)
【Swift編 第2章で学ぶこと】
・Googleの翻訳APIの使い方
・Googleのカスタム検索APIの使い方
・CoreData(iOSのローカルデータベース)の使い方(@FetchRequest)
・@Published Property Wrapperの使い方
・@EnvironmentObject Property Wrapperの使い方
・@Binding Property Wrapperの使い方
【開発するアプリ】
翻訳したい言語で、訳語とイメージを入れた単語カードの一覧を作ります。
Googleイメージ検索、Google翻訳のAPIを使います。
スピーカーボタンを押すと、発音されます。
削除ボタンを押すと、カードを削除できます。
各国ごとの単語カード帳を持つことができます。
■Flutter編(iOS/Android)
「Flutter」はGoogle社が提供しているフレームワークです。
単一のコードで、Android、iOSの両方に対応したアプリケーションを開発することができます。
「Flutter」はフレームワークなので、「Android Studio」や「Visual Studio」や「Xcode」のどれかの開発ツール(IDE:統合開発環境)にインストールして、実際にコーディングをします。開発言語は「Dart」です。JavaScriptとよく似ている言語です。
●おでかけマップ(グーグルマップ連携)
グーグルマップで見つけた地点を登録して、旅の目的地一覧をつくります。
【flutter編1章で学ぶこと】
・Flutterでのプロジェクト作成
・Dart変数/関数の作成編集
・文字・ボタン類・ウィンドウ類の画面表示および配置調整
・StatelessWidget/StatefullWidgetの作成
・リスト変数の画面表示
・外部モジュール連携(地図連携、メール配信)
【作成アプリの機能】
・マップ検索して旅先を登録
・登録先にピンをたてたマップを表示
・ピンを選択すると現在地からのルート表示
・登録リストの表示と編集
●まとめサイト作成(ファイアベース連携)
「日光おすすめスポット」のようなNAVERまとめ風ページを作るアプリです。
作った記事はWEB公開されます。ペライチ風のページ作成もできます。
【作成アプリの機能】
・タイトル入力の後、トピック(見出し・画像・文章・リンク先)を複数追加して記事を構成
・記事の公開/更新/削除/削除
・記事編集では、入力内容の更新のほか、トピックの順序入れ替え、削除ができる。
■Unity編(iOS/Android)
「Unity」は、ゲーム開発プラットフォームです。
クロスプラットフォーム対応で、モバイルゲームやパソコンゲーム、などの制作に用いられます。
開発言語は「C#」です。「Unity Hub」を立ち上げ「Visual Studio」でコーディングをします。
また、「Unity」は開発環境の利用のみならず、アセットと呼ばれる「3Dオブジェクト(空間・物体)」を売買することができます。すでに1500万台を出荷したVRゴーグル「Qest2」で提供されるアプリは「Android」で動いており「Unity」で開発可能です。
●レーシングゲームを作ろう
ライバルカーとラップタイムを競うレーシングゲームを作ります。
【Unity編 第1章で学ぶこと】
・アセットのインポート
・フレーム処理関数(Start()、Update())の使い方
・コルーチン関数の使い方
・物理演算による当たり判定(Trigger)の使い方
・UIボタンの使い方
・BGM・3D音響の設定方法
・スマートフォン向けの設定、SafeAreaの対応方法
【開発するアプリ】
AIライバルカーとラップタイムを競うレーシングゲームを作ります。
AIライバルカーとプレイヤーが1対1で、チェックポイントを通過しながらゴールを目指します。オンボードカメラも設置し、迫力のある疾走シーンを楽しめます。
参考アプリ:カリキュラム作成者の制作アプリ「アキバカートレーシング(AppStore/GooglePlay)」
●玉拾いゲームを作ろう
最初に8つのオレンジボールをとった人が勝ちというゲームを作ります。
【Unity編 第2章で学ぶこと】
・Prefabを用いたオブジェクトの生成方法
・シーン階層の整理方法
・物理演算による衝突判定(Collision)の使い方
・物理演算による力の加え方
・AIナビゲーションの使い方
・UIスライダーの使い方
・効果音の設定方法
【開発するアプリ】
20秒以内にオレンジボールを8つ集めたら勝ちとなるゲームを作ります。
AIライバルが走り回ってオレンジボールの回収を邪魔してきます。また、飛んでくる青い大玉ボールにぶつかる、集めたオレンジボールを落としてしまいますので注意しましょう。
参考アプリ:カリキュラム作成者の制作アプリ「スクール鬼ごっこ(AppStore/GooglePlay)」