この発表では、Swift アクターモデルと Elm Architecture を融合したフレームワーク「Actomaton」について、実用例を中心に紹介します。
https://github.com/Actomaton/Actomaton
Composable Architecture では飽き足らないマニア向けの内容を予定しています。
どうも!デバッグ大好きJ.J.です!
皆さん、よく使うデバッグ方法は何通りありますか?
このトークでは、Xcode上でのデバッグについてだけでなく簡単に導入できるライブラリやサードパーティーを使ったデバッグ方法を紹介します。
実際の現場で役に立つデバッグ方法であること間違い無しです!
iPhoneアプリ開発におけるデバッグ方法を、時間が許す限りお話しします!
2014年から趣味で公開し開発を継続しているiOS Webブラウザアプリ開発で溜まった知見を振り返りまとめます。
余裕があればSwiftUIでサンプルアプリを作り公開します。
この辺りの話になると思います。
2014年から趣味で公開し開発を継続しているiOS Webブラウザアプリ開発で溜まった知見を振り返りまとめます。
余裕があればSwiftUIでサンプルアプリを作り公開します。
この辺りの話になると思います。
私たちのチームではAPIの実装とクライアントのAPIインターフェースの実装の差分をできるだけなくし、より円滑に開発を進めるためにOpenAPIを導入しました。
またiOSプロジェクトではCreateAPIというライブラリを使用して、OpenAPIのAPIドキュメントからAPIインターフェースを自動生成しています。
本トークではOpenAPIを実際にiOSプロジェクトに導入するにあたって
などについて実際の業務で得た知見からお話しします。
これからOpenAPIの導入を検討されている開発者のかたの助けになる情報が届けられれば幸いです。
iOS13から追加されたVisionKitフレームワークの物体認識、OCR(Optical character recognition)など一部機能を使うとこで簡単にクレジットカードの番号を読み込む機能をゼロから作ることができます。
・VNDetectRectanglesRequest -> カードの形を認識
・VNRecognizeTextRequest -> カード番号、有効期限、名前の読み込み(ocr)
・パーシングして使えるかを判定
その他、認識制度を上げるためのアイディアについて話します!
StoreKit2 が使えるようになり早一年。これまでの StoreKit は API が複雑だったことで、ロジック変更に対する抵抗感やリスクから対応を後回しにしている方が大勢居るのではないでしょうか。
本LTでは StoreKit2 の魅力をこれまでと対比することで改めて認識し、StoreKit に対する心理的不安を解消するまでをゴールとします。
iOSアプリの開発楽しい!アプリ開発したからリリースだ!
・・・その前にちゃんとテストはしましたか?
スピード優先のアジャイル開発はテストを疎かにしていい理由にはなりません。
とはいえ、人力のテストには限界があるので可能な範囲から自動テスト化させていきましょう。
今回はUIテスト技術にフォーカスして、実際に開発中やリリース前にでてきたテストの悩みをどうやって解決したのかをご紹介します。
XCTestとかUIテストとかよくわからん、やりたくない・・・って思っている方、ちゃんとテストコードを書いてリリース前に安心を得ませんか?
let theme = "String Interpolation"
print("(theme) deep dive")
これは多くのプログラミング言語に備わる機能、String InterpolationのSwift実装です。
一般的に変数をプレースホルダーに展開する機能ですが、Swiftでは拡張手段が提供されていて、高度で静的な文字列操作を可能にします。
さらにSwuiftUI、特にTextの機能が充実したことで、単純なStringとしての表現力を超えた活躍を期待できます。
このトークでは、SwiftにおけるString Interpolationの仕組み、実現方法を解説して理解を深め、典型的な使用方法を学びます。
次にSwiftUIを例に、Frameworkと組み合わせた応用を目指します。
String Interpolation活用の新たなアイディアに繋げましょう。
多くのプログラミング言語に備わる機能String Interpolationは、一般的には変数をプレースホルダーに展開する機能で、みなさんもよく使用することでしょう。
Swift実装では、開発者に拡張手段が提供されていて、高度で静的な文字列操作を可能にします。
さらにSwuiftUI、とりわけTextの機能が充実したことで、近年では単純なStringとしての表現を超え、活躍の幅は広がっています。
このトークでは、文字列操作としての典型的な使用方法を説明し、SwiftUI.Textを例に、Frameworkと組み合わせた活用方法を紹介します。
String Interpolation活用して、日々のコーディング体験を向上させましょう。
最近使っているOSSを振り返ってみると、ある人が投稿した問題があり、それを解決できれば役に立ちそうな気がしました。普段使っているOSSなので、全体的な解決イメージが湧きやすく、試行錯誤しながら、少しずつ解決への道筋が見えてきました!
Unity as a Library(UaaL)はUnityをネイティブアプリのライブラリとして利用する技術です。
ネイティブアプリの強みであるOSに準拠したUI/UXを実現できる点、Unityの強みの3Dを簡単に使える仕組みが整っている点を組み合わせることが可能で、複雑な3D表現やリッチなグラフィックを実現したい場合においてUaaLは選択肢に上がるかと思います。
本トークでは、ネイティブ・Unityエンジニア間のコミュニケーション面にも触れつつ、
Unity製のゲームが動作するまでのフロー、ネイティブとUnityとでどのように領域を区切って開発しているかを事例ベースで解説します。
・UaaLの概要
・UaaLの活用とUnityViewの解説
・ネイティブアプリとUnityのメッセージング用のインターフェースの解説
・UaaLの課題や問題点、今後の取り組み
サイレントプッシュ通知を運用するためにはクライアント実装を含め、サーバサイドの実装も必要になります。サーバサイドの実装にも選択肢は一つではありませんがその中でCloud Functionは負荷に対してすスケーリングに悩む必要がなく本来必要な設定や実装の多くの部分をスキップできるのでアプリエンジニアにとって恩恵が大きいです。
このトークではFirebase PubSubメッセージ送信からCloudFunctionが実行されiOSアプリでサイレントプッシュ通知が届くまでの流れに必要な最低限の一通りの実装を実例とともに説明します。
内容構成
- 全体のフロー
- PubSub設定
- Cloud Functionの実装(Typescript)
- iOSクライアントの実装
- 気をつけたい部分
皆さんは、App Store Connect APIというものをご存知でしょうか?
Appleが公式で用意しているAPIでこのAPI経由で様々なことができます。
このApp Store Connect APIを使って自分がストアに公開しているアプリのダウンロード数を取得する、Go言語向けライブラリ「goisumobilereport」を作成したのでその紹介をしたいと思います。
今回のLTでは自作ライブラリの内部処理から導入手順、実際に動かすところまでを紹介したいと思います。
タクシーアプリ「GO」は、2020年9月にリリースしました。
その頃は、iOSチームとして、アプリ開発を行なっており、日々「GO」の新機能を開発する日々でした。
しかしながら、同じ「GO」のプロダクトを開発するメンバーがPdMやデザイナーも含め40人を超えるため、
どうしても意思疎通がうまくいかなかったり、意思決定が遅かったりと、いくつかの問題を抱えていました。
そこで、2021年5月からは、複数のPdMやデザイナーも巻き込んで、大きな改革に取り組みました。
部署自体が異なるため、現場で案件のフローやコンセンサスの取り方など、多くのすり合わせをおこなってきました。
どのような課題感から、何を思い、どのような変革を行なっていったか、是非リーダーやマネージャーを担っているエンジニアの方々だけでなく、これからリーダーやマネージャを目指す方に聞いてもらいたいです。
タクシーアプリ「GO」は、2020年9月にリリースしました。
その頃は、iOSチームとしてアプリ開発を行なっており、日々「GO」の新機能を開発する日々でした。
しかしながら、同じ「GO」のプロダクトを開発するメンバーがPdMやデザイナーも含め40人を超えるため、
どうしても意思疎通がうまくいかなかったり、意思決定が遅かったりと、いくつかの問題を抱えていました。
そこで、2020年6月から身近なiOSチームという比較的ミクロな改革、2021年5月からは、PdMやデザイナーも巻き込んだ、プロダクト開発チームとしてのマクロな改革を行いました。
そえぞれ何を軸にして行なっていくか、目的も異なってきます。どのような課題感から、何を思い、どのような変革を行なっていったか、是非リーダーやマネージャーを担っているエンジニアの方々だけでなく、これからリーダーやマネージャを目指す方に聞いてもらいたいです。
iOS15からユーザー間でのやりとりのための新しい通知、Communication Notificationが導入されました。
そうです、通知にユーザーのアイコンが出るあの通知です。
UIが変わったり、通知の要約を突破できたりと普通の通知よりも便利なこともある一方、Siriに関する知識が必要になってきます。
しかしSiriに関してはドキュメントも知見も少なく、その割に設定する項目も多く、敷居が高いイメージもあるのではないでしょうか?
そもそもなぜ通知の実装にSiriが出てくるのでしょうか?
このトークではCommunication Notificationの実装方法、Communication Notificationを実装する上でのSiriの知識、及びよくやってしまいがちなCommunication Notificationのアンチパターンなどを紹介していきます。
現在、新規でアプリ開発を考えたとき、Flutterでのアプリ開発は1つの選択肢として浸透しつつあります。
しかしながら、既にSwiftで開発している既存のアプリが大多数で、マルチプラットフォーム開発ができれば、開発コストを下げれると考える一方で、ネイティブとFlutterではレンダリングエンジンが異なるため、なかなか導入に踏み切れないといったところが大きいのではないでしょうか?
今回、既存アプリにFlutterを導入できないか真剣に向き合うことにしました。
少しでも、今後の導入の参考にしていただければと思います。
皆さんは ISUCON をご存知でしょうか?ISUCON は 課題として提供されるWebサービスを「いい感じにスピードアップ」するコンテストです。
さて、ここに3人のiOSエンジニアが勝負を挑みました。この3人、持ち前の iOS 開発で培った Swift 力で、シビアな制限時間の中、課題をSwift にフルスクラッチで書き換えようとします。果たして優勝を勝ち取り、iOS開発、そしてSwift言語の威厳を他の参加者に知らしめることはできたのでしょうか。
このトークを通じて、iOS、macOS アプリケーションの開発者の皆さんがどのようにしてサーバーサイドSwiftに取り組めるか、そして本格的なアプリを実装できるかを学べるやもしれません。 iOS クライアントだけでなく、サービス全てをSwiftにしたい方、必見です!
WWDC2020にて華々しくデビューしたApp Clipsですが、それから2年過ぎた現在においてもあまり見向きをされていないような印象があり、割と寂しく思うところです。
時には「謎のミニアプリ」として紹介されることもあるApp Clips、この1年間で何が変わったのか、そしてこの秋には何が新しくなるのか。
本LTでは何かと不憫な目に遭っているApp Clipsにスポットライトを当て、App Clip 自身またはそれを取り巻く環境のアップデートについてお話をしたいと思います。