採択
パンフ記事(4ページ)

Swift Markdownを使ったMarkdownアプリ開発 〜 特徴とMarkdown表示アプリへの活用方法

kotetu 栗山 徹

「swift-markdown」は、Apple自身が開発を進めているSwiftでMarkdownドキュメントのパース・編集を行うためのライブラリです。

swift-markdownは、Swift言語との親和性が高く、かつGithubで使用可能なMarkdown構文に準拠していることが特徴です。開発が開始されてまだ日が浅いものの、今後、iOSでMarkdownに関連したアプリを開発する上では有力な選択肢となることが期待されます。

本稿では、Markdown機能を組み込みたいとお考えの方へ向けて、他のMarkdown機能実装手法との比較を通じて、swift-markdownの特徴や利用シーンについてご紹介します。

また、簡単なMarkdown構文を題材に、SwiftUIを使用してMarkdown表示を行うことを目標に、サンプルコードを交えてアプリに組み込む方法についてもご紹介します。

12
採択
パンフ記事(4ページ)

Danger-Swiftでもasync/awaitがしたい!

417_72ki 417.72KI

DangerはCI/CD環境でコードレビューを機械的に実施してくれるツールで、Danger-Swiftはその名の通りDangerがSwiftで書かれたものです。
レビューの内容をDangerfile.swiftに記述していきますが、当然Swiftで書くことになります。

Swift Concurrencyが出た当初はtop-levelでのawaitがサポートされていませんでしたが、Swift 5.7から書けるようになりました。
つまり、Xcode 14になってからDangerfile.swiftでも正式にasync/awaitが扱えるようになったことになります。

本記事は昨年のパンフレット記事の続編として、Danger-Swift上でGitHub-APIを触るためにasync/awaitを導入する話を書きます。

2
採択
パンフ記事(4ページ)

Vision Proに備える!ARKitを使ってARアプリを構築してみよう

k_koheyi k-kohey

ARKitは拡張現実の体験を作るためのFrameworkです.
ARKitは普段の業務で使う機会が少なく,学ぶことが退屈に感じるかもしれません.

しかし,ARKitは今後より身近で重要な存在になるかもしれません.
WWDC23においてVision Proと呼ばれる新しいデバイスが登場しました.
このデバイスはARデバイスの側面を持っており,そのデバイスが実行するアプリが実世界を認識しインタラクトできる事は非常に重要です.

そして,そのような体験を生み出すために必要となるのがARKitです.
もし,Vision Proで動作するアプリの開発を行う際にはARKitの知識や経験が活きてきます.

iOS上で動作するARアプリの開発について学びVision Proに備えましょう.
この原稿ではカメラを通して認識した世界に3Dオブジェクトを登場させ,インタラクトするアプリの作り方を説明します.

6
採択
パンフ記事(4ページ)

はじめよう!Swift OpenAPI Generatorによるスキーマ駆動開発:導入手順と活用のコツ

kamimi_01 kamimi / かみみ

OpenAPI Specification活用してますか?HTTP APIのインターフェース定義で仕様の認識合わせにうってつけ。エコシステムも充実しています。

WWDC23ではSwift特化のGenerator、Swift OpenAPI Generatorが発表されました。Swift Package pluginとして提供されたことでコードの生成から利用を、Xcodeを離れることなくスムーズに行えます。

似たコードを何度も書かずに済むという利点の一方、自動生成ならではのコツも存在します。例えばドキュメント生成のためだけなら気にしなくてよかったspecの書き方があります。また現時点の自動生成は未熟な点もありこのGenerator独自の実装方法を知る必要もあります。

本記事ではそんなSwift OpenAPI Generatorの導入手順や活用のコツを実際のコードを交えてご紹介します。

8
採択
パンフ記事(4ページ)

無料で使えて意外と凄いMapKitの世界

saikei718 Keisuke Saito

Apple標準フレームワークでお馴染み「MapKit」ですが、
「ただ地図にピンを立てるだけ」ではなく様々な機能がいくつもあることを、みなさん知っていますか?

実はMapKitには毎年新機能が追加され、年々出来ることも増えて来ています!

  • スポット名での検索&サジェスト
  • A地点からB地点への経路探索
  • 緯度経度と住所の相互変換(ジオコーディング)
  • ピンのカスタマイズやクラスタリング
  • 地図上のスポットアイコン(POI)のフィルタリング
  • マップ上への図形の描画
  • Look Aroundの表示

など、MapKitを使い無料で実現できる様々なカスタマイズや機能を、
実際にプロダクトに導入した経験も踏まえてご紹介します!

5
採択
パンフ記事(4ページ)

実はそのUI実装や機能はDIYできちゃう!個人的にも活用している実現Tips集

fumiyasac 酒井文也

アプリの機能開発時やUI実装時、あるいは基盤となり得る部分に手を入れたりする場合には、自前で準備をする選択肢の他にOSSを利用する選択肢も候補に含める場面も数多くあると思います。また、自前でいざ実装を考えていくとなると「結構大変そうに見えて2の足を踏んでしまう」という経験があるかもしれません。

本稿では、少し難しそうなイメージがある部分をDIYする際に、少しでもお役に立てそうなポイントやアプローチをご紹介できればと思います。

【現在考えているトピックス】

※内容は一部変更または調整する可能性があります。

  • 奥行きがある立体的なCarousel表現
  • メディアアプリ等でもある無限循環型タブを持ち一覧画面を切り替える表現
  • 自前でPropertyWrapperで作成するDIコンテナ機構
  • 画面上部を引っ張って閉じる処理と画面遷移トランジションの組み合わせ

等々...

4
採択
パンフ記事(4ページ)

計測データに基づくDateFormatterのキャッシュやformattedによる日付表示のパフォーマンス改善

SvEzs たいせい

アプリ開発で日付を表示する場面は多くあります。DateFormatterはDate型のデータを任意のフォーマットでString型に変換することができます。
しかし、DateFormatterはインスタンス生成コストが高く、アプリのパフォーマンスを低下させてしまうことがあります。

この問題を防ぐには、DateFormatterをキャッシュして不要な生成コストを抑えるのが効果的です。

本記事では、DateFormatterのキャッシュによるパフォーマンス改善案についてコードを元に解説します。その上で、パフォーマンスを比較し、キャッシュによる違いを整理します。併せて、iOS15から追加されたformattedを使った場合、前述の実装とどう異なるかを比較します。そして、パフォーマンスに悪影響を与えることなくアプリ内で日付を表示するには、どのような実装が最適であるかを提案します。

6
採択
パンフ記事(4ページ)

超巨大産業「建設業界」をマルチアプリ戦略で挑んで数年経った現在地

ushisantoasobu 佐藤俊輔

弊社「株式アンドパッド」では、「幸せを築く人を、幸せに。」をミッションに建設DXに取り組んでいます。
この超巨大な建設業界というドメインに対し、弊社では1つの巨大アプリ(スーパーアプリ)ではなく、複数のアプリを提供する「マルチアプリ戦略」という手段を用いて課題解決に取り組んできました。
現在「施工管理」「図面」など10個近くのiOSアプリを運用しています(Flutter製も含む)。

そこから見えてきたマルチアプリ戦略の良かったこと・課題に感じていること・うまく解決できたこと、などを記事にまとめます。具体的には、

  • 「社内ライブラリ」の運用の難しさ
  • ユーザ体験の一体感
  • アプリ間でのiOSエンジニアの知見共有の取り組み
  • 「アプリ横断チーム」の是非

などになります。
iOS開発の「詳細」というよりは、「アーキテクト」だとか「組織論」的な話も幾分含むことになります。

9
採択
パンフ記事(4ページ)

輝け俺のViewController 〜フレモンと秘密の部屋(サーバールームじゃないよ!)〜

___freddi___ freddi

iOSの業界をネタにし尽くした、ネタ切れ、というか、もう正直このプロポーザルを書いてる時点でネタがない!打ち切り覚悟のfreddi先生最新作。ファットビューコントローラークリエイター・フレモンによるドタバタコメディ、第3弾です!今からネタ考えるのでもうここに書くこと無いんですよね、さて、今年はどういうネタにしようかな。TwitterでちょっとバズったMVVMタ◯ピーのオマージュを引っ張るのも考えたし、いっそウ◯ニャ路線で行くか、迷うな。あ、そうだ、あの人に聞いてみよう。今年よかったらマンガに登場しませんか?...

???「ええで」

乞うご期待!

採択
パンフ記事(4ページ)

Apple Silicon のためのアセンブリ入門

AkkeyLab akkey
  • 怖くないニーモニック
  • 文字出力と演算
  • Swift とアセンブリ

Apple Silicon、皆さんはどれくらい使い倒していますか?
現代の令和においても、我々は CPU と非常に近い距離で対話する手段を持っています。それがアセンブリです。
アセンブリは機械語に非常に近い低水準言語であり、CPU アーキテクチャによって記述方法も異なります。Swift などの高水準言語では記述方法が言語のバージョンアップ以外で変わることは少ないため、この特性に疑問を持つ人もいるかもしれません。

本稿では、アセンブリを通じて Apple Silicon を操作する方法を紹介します。初めは仕事に直接活かせないように思えるかもしれませんが、Apple Silicon と近い距離で対話することは意義深いものです。きっと Apple Silicon がさらに魅力的に感じられるでしょう!

3