ポスターセッション

【図解】公式アプリから見る技術カンファレンス

S_Shimotori_pub S_Shimotori

技術カンファレンスは様々な方がそれぞれの形で貢献し作り上げるイベントです。
公式サイトや公式アプリはイベントの内容や方針がよく表れるものであり、その開発はITエンジニアならではの貢献のひとつです。
オープンソース化されているものならば使用されている技術も必見です。iOSアプリエンジニア、もしくはAndroidアプリエンジニアとしてソースコードを読んだり実際に開発に参加したりした方も多いでしょう。
毎年ゼロから開発している公式アプリであればその年の最新の設計や流行のライブラリを窺い知る貴重な資料になります。

本ポスターセッションでは、カンファレンスの公式iOSアプリを通してカンファレンスについて考えます。

ポスターに掲載する内容

  • 各カンファレンスのイベント内容の紹介
  • アプリのコンテンツ内容や設計の紹介
  • OSS開発の運営体制や技術領域の考え方の紹介

対象カンファレンス

  • iOSDC Japan 2023(「fortee」「名札交換」)
  • DroidKaigi 2023
  • FlutterKaigi 2023
  • try! Swift Tokyo 2024

このポスターセッションが技術領域の垣根を超えた交流やカンファレンスへの貢献の促進につながれば幸いです。

4
採択
ポスターセッション

Bluetooth 制御で業務用サーマルプリンター対応アプリを作ろう

mitsuharu_e 江本光晴

昨今のペーパーレス化が進む社会でも、サーマル(感熱紙)プリントを見る機会は依然として多いです。iPhone や iPad を利用した POS レジからレシートを受け取った経験があるでしょう。その iPhone からどのようにレシートを印刷しているのか気になったことはありませんか。

印刷といえば iOS には Wi-Fi に接続されたプリンターを制御する AirPrint があります。しかしながら、業務用サーマルプリンターは Wi-Fi 非対応の機種も多く、AirPrint は利用できません。サーマルプリンター向けの印刷命令を実行する必要があります。Bluetooth で接続可能なサーマルプリンターを対象として、命令コマンドを iOS から実行する方法を紹介・実演します。また、サーマルプリンター対応アプリを作る際の注意点も紹介します。サーマルプリンターに興味ある方・そうでもない方も、iPhone だけには収まらない、外部ハードウェアと連携するアプリ開発について、談義しましょう。

3
ポスターセッション

InputMethodKitとTCAを使ったmacOS上で動作する英語向けIMEツールの開発を通して得た効率的に開発する知見

Tatsumi0000

macOS上で動作するIMEを開発するために、Appleが公式で提供するInputMethodKitを利用して開発しました。

InputMethodKitでは主に、IMKInputController、IMKCandidates、IMKServerの3つのクラスを使い開発します。実際の開発中に、特にロジックが集中するIMKInputControllerのコードが肥大化し、コードの見通しが悪くなるという問題に直面しました。他にもIME開発特有のデバッグの煩わしさもありました。

そこで、コードの見通しをよくするためにThe Composable Architecture(TCA)を導入し、IMEのデバッグの煩わしさを軽減するために、fastlaneを使った自動化や、Repository層とUseCase層を採用したマルチモジュール構成で開発する方針を採用しました。

これらについて実際に書いたコードと一緒に以下の内容について解説します。

  • InputMethodKitでよく使う項目に対しての解説
  • UIKit/SwiftUIを使用していないコードに対してのTCAを使った開発
  • デバッグを簡単にするためのfastlaneを使ったビルドの自動化とマルチモジュール構成を使ったデバッグアプリの開発
採択
ポスターセッション

Swift 6に備えよう!Upcoming Feature Flagsを全て解説します!

ynoseda 野瀬田 裕樹

Swift 6のリリースが近づく中、Swiftの新しい言語機能や改善点を事前に把握しておきたいと考えている方も多いでしょう
将来的にSwiftで導入される新機能は「Upcoming Feature Flags」を使うことで事前に有効化することが可能です。
このポスターセッションでは、この「Upcoming Feature Flags」で有効化できる機能のうち、実装済み(Implemented)になっているものについて全て解説します。

一つでも多くの「Upcoming Feature Flags」を有効化することで、Swift 6のリリースに備えながら、新機能や改善点を効率的にキャッチアップできます。

【内容】
・ Upcoming Feature Flagsで機能を有効化する方法の解説
https://www.swift.org/swift-evolution/#?upcoming=true でImplementedになっている全ての機能について、その概要と具体的な例の紹介

5