技術カンファレンスは様々な方がそれぞれの形で貢献し作り上げるイベントです。
公式サイトや公式アプリはイベントの内容や方針がよく表れるものであり、その開発はITエンジニアならではの貢献のひとつです。
オープンソース化されているものならば使用されている技術も必見です。iOSアプリエンジニア、もしくはAndroidアプリエンジニアとしてソースコードを読んだり実際に開発に参加したりした方も多いでしょう。
毎年ゼロから開発している公式アプリであればその年の最新の設計や流行のライブラリを窺い知る貴重な資料になります。
本ポスターセッションでは、カンファレンスの公式iOSアプリを通してカンファレンスについて考えます。
ポスターに掲載する内容
対象カンファレンス
このポスターセッションが技術領域の垣根を超えた交流やカンファレンスへの貢献の促進につながれば幸いです。
昨今のペーパーレス化が進む社会でも、サーマル(感熱紙)プリントを見る機会は依然として多いです。iPhone や iPad を利用した POS レジからレシートを受け取った経験があるでしょう。その iPhone からどのようにレシートを印刷しているのか気になったことはありませんか。
印刷といえば iOS には Wi-Fi に接続されたプリンターを制御する AirPrint があります。しかしながら、業務用サーマルプリンターは Wi-Fi 非対応の機種も多く、AirPrint は利用できません。サーマルプリンター向けの印刷命令を実行する必要があります。Bluetooth で接続可能なサーマルプリンターを対象として、命令コマンドを iOS から実行する方法を紹介・実演します。また、サーマルプリンター対応アプリを作る際の注意点も紹介します。サーマルプリンターに興味ある方・そうでもない方も、iPhone だけには収まらない、外部ハードウェアと連携するアプリ開発について、談義しましょう。
macOS上で動作するIMEを開発するために、Appleが公式で提供するInputMethodKitを利用して開発しました。
InputMethodKitでは主に、IMKInputController、IMKCandidates、IMKServerの3つのクラスを使い開発します。実際の開発中に、特にロジックが集中するIMKInputControllerのコードが肥大化し、コードの見通しが悪くなるという問題に直面しました。他にもIME開発特有のデバッグの煩わしさもありました。
そこで、コードの見通しをよくするためにThe Composable Architecture(TCA)を導入し、IMEのデバッグの煩わしさを軽減するために、fastlaneを使った自動化や、Repository層とUseCase層を採用したマルチモジュール構成で開発する方針を採用しました。
これらについて実際に書いたコードと一緒に以下の内容について解説します。
Swift 6のリリースが近づく中、Swiftの新しい言語機能や改善点を事前に把握しておきたいと考えている方も多いでしょう
将来的にSwiftで導入される新機能は「Upcoming Feature Flags」を使うことで事前に有効化することが可能です。
このポスターセッションでは、この「Upcoming Feature Flags」で有効化できる機能のうち、Swift6より前のバージョンで実装済み(Implemented)になっているものについて全て解説します。
一つでも多くの「Upcoming Feature Flags」を有効化することで、Swift 6のリリースに備えながら、新機能や改善点を効率的にキャッチアップできます。
【内容】
・ Upcoming Feature Flagsで機能を有効化する方法の解説
・ https://www.swift.org/swift-evolution/#?upcoming=true でSwift6より前のバージョンでImplementedになっている全ての機能について、その概要と具体的な例の紹介