~taiji/lecture-2024 contents

Last modified: 2025/01/10

Contents

補助資料

モバイル (iPhone, Android) アプリケーションの作り方 - Xcode, Swift / Android Studio, Kotlin による iPhone, Android アプリの開発 [2024年度〜]

講義で扱うテーマは以下の通りです (但し、埼玉大学 enPiT の場合は Google Android Studio / View API のみです)。

モダンな「宣言的 UI (declarative UI)」はコードに UI 部品が埋め込まれるスタイルの開発手法であり、一方で、「非宣言的 UI (nondeclarative UI)」はグラフィカルに UI 部品を配置したものは、別のソースコードに生成または定義されるスタイルの開発手法です。後者は敷居が低く分かりやすいと言えますが、慣れてくれば前者の可搬性の高さ (共同製作などにおいて) のメリットがあります。

非宣言的 UI のなかには「命令的 UI (imperative UI)」があり、それは Xcode 上の UIKit や Android Studio 上の View API における UI 設計そのものではありません。静的な UI は XML コードへ定義され、プログラマは直感的に UI を設計できます。そして、伝統的な命令的 UI による部品配置を混在させることができ、動的な UI を生成する場合に使用されます。

モバイルプログラミング開発環境・開発手法の概観
モバイル端末 / オペレーティングシステム (OS)iPhone / iOS (2007〜)各社スマートフォン / Android (2008〜)
統合開発環境Xcode (2003〜)Android Studio (2014〜)
開発環境の対応機種 / OSApple Mac / macOS のみPC / GNU Linux, PC / Microsoft Windows, Apple Mac / macOS
開発言語Swift (2014〜)Kotlin (2016〜)
非宣言的 UI 開発手法、
及び参考図書、
サポート情報
UIKit (2008〜)
諏訪 著「iPhone アプリ開発講座 はじめての Swift」(2016)†
本ページ #978-4797385281同著「Swift5 対応ノート」(2019〜2023)
View API (2014〜)
金田 著「はじめての Android プログラミング」(2018〜2021)†
https://www.sbcr.jp/product/4815607968/
宣言的 UI 開発手法、
及び参考図書、
サポート情報
SwiftUI (2019〜)
藤、小林、小林 著「iPhone アプリ開発集中講座」(2018〜2024)†
https://blog.code-candy.com/swiftbook2024/
Jetpack Compose (2021〜)†
金田 著「イチからはじめる Android プログラミング」(2024)†
https://smartphone-zine.com/1kara/
アプリ配布App Store (2008〜)Android Market (2008〜2012), Google Play (2012〜)
その他の開発言語C/C++, Objective-C/C++, Java, Python, Ruby 他非公式 Java, C/C++, Python, Ruby, Rust, Scala, Haskell, Haxe 他
その他の端末 / OSiPad (2010〜) / iOS (〜2019), iPad OS (2019〜)、Apple TV (2007〜) / tvOS (2015〜)、Apple Watch / watchOS (2015〜)、Apple Vision / visionOS (2024〜) 各社タブレット / Android (2010〜)、各社 AV デバイス / Android (2019〜)、各社スマートウォッチ / Wear OS (2014〜)
UI ガイドラインHuman Interface GuidelinesAndroid Design
開発一次情報源、
及びドキュメント
https://developer.apple.com/jp/xcode/
https://developer.apple.com/documentation/
https://developer.android.com/studio?hl=ja
https://developer.android.com/reference
開発環境の出自NeXTSTEP (1989〜)IntelliJ IDEA (2000〜)
その他の非宣言的 UI 開発手法 for OS / 開発言語JUCE (2004〜) for Windows, macOS, GNU Linux, iOS, Android / C++
Qt (1995〜) for Windows, macOS, GNU Linux, iOS, Android 他 / C++
wxWidgets (1992〜) for Windows, macOS, GNU Linux, iOS, Android 他 / C++
その他の宣言的 UI 開発手法 for OS / 開発言語Google Flutter (2018〜), Flock (2024〜) for Windows, Linux, macOS, iOS, Android, Google Fuchsia / Dart, C/C++
Tamappe 著「Flutter で始めるはじめてのモバイルアプリ開発」(2025)
https://gihyo.jp/book/2025/978-4-297-14639-9
Meta React Native (2015〜) for Android, iOS, Windows / Javascript, Java, C/C++, Objective-C/C++, Python
中川 著「基礎から学ぶ React Native 入門」(2021)
https://www.shoeisha.co.jp/book/detail/9784798169569

† これら書籍は新版が毎年出来(しゅったい)されることがありますので、購入される場合はよく確認するように。

† モバイルアプリの開発環境で使われるリソースは日進月歩ですので、書籍通りのそのままでは上手く行かないことは多々あります。つまずいたら書籍のサポートページ、さらには、ネット検索などが必要になるときがあります。

モバイル (iPhone) アプリケーションの作り方 - Xcode, Swift による iOS アプリの開発 [2017〜2023年度]

情報システム工学 I(前期) [〜2017年度]

情報システム工学 II(後期) [〜2017年度]

Xcode, iOS SDK による Mac, iPhone アプリの開発 in Objective-C [2010年度]

過去年度のページ

講師略歴

山田 泰司
平成元年3月 東京電機大学高等学校普通科卒業.
平成5年3月 東京電機大学工学部電子工学科卒業.
平成7年3月 東京電機大学大学院工学研究科電子工学専攻修士課程修了.
平成7年4月 株式会社あいはら入社.
平成18年10月〜平成29年3月 埼玉大学工学部情報システム工学科・非常勤講師.
平成29年9月〜 埼玉大学工学部情報システム工学科・非常勤講師.
平成30年10月〜 東京理科大学工学部情報工学科・非常勤講師.
現在,株式会社あいはらにて,カオス時系列解析,カオスニューロコンピューティングの応用に関する研究,数値計算に関するウェブ技術開発に従事.

Copyright (C) 2007-2023 Taiji Yamada