🐔

Swift Expands! Vol.1 開催した記録

2024/04/08に公開

Swift Expands! とは

このイベントはBitkeyに所属するあらさんが企画する開発勉強会イベントです。企画する目的は以下のとおりです。

  • ものづくりを楽しむ空間を作ろう。
  • 楽しんだ結果得られた成果を記録に残そう。
  • メジャーではない内容も楽しく話せる場を作ろう。

Swiftと銘打った理由には特定の要素にフォーカスを絞ったイベントであることでイベント内容を想像しやすくするためです。Swiftに秘められたポテンシャルは高いです。実用できる技術としてどのようなものができるのかを探求する会を作ることはSwiftだけではなくより低レイヤーを知る良いきっかけになることを考えています。

Swiftは思いつくだけでも魅力的な概念を実装しつづけています。Embedded SwiftやDistributed Actorはあらさん個人として注目している技術要素の一つです。Embedded Swiftによってより安全なファームウェアやハードウェアの制御ができれば良いでしょう、もしかするとハードウェアを扱うBitkeyとしても面白い成果につながるかもしれません。またDistributed ActorはScalaのAkkaがトップランナーとして君臨しているアクターモデルの一つです。これはAkkaチームに関わっている@ktosoplさんがSwiftに言語機能の一部として加えているものです。他の言語では言語機能へ加えずにあくまでもライブラリの一つとして実装することが多いものですがSwiftでは言語仕様に加えるという挑戦が見られます。

これらの機能にある概念はSwiftだけに存在するものではありません。Swiftという分かりやすく使いやすい言語をベースに学びを深められることは確実です。Swift Expands!ではSwiftをベースにより深い学びを作り出す場として設計して、イベントを盛り上げていくことを決めています。

Swift Expands! Vol.1について

開催された動画はこちらです。

https://www.youtube.com/watch?v=wmvndv6SHVM

第一回開催(2024/04/05 金曜日)のイベントではSwiftとマルチプラットフォーム、C++ Interoperabilityについての深堀りでした。

LINEヤフーセッション 「C++ライブラリをSPM化しよう」

大岡湧汰 / @subdiox

https://www.youtube.com/live/wmvndv6SHVM?feature=shared&t=527

LINEヤフー株式会社所属の大岡さんの発表ではC++とSPMの距離を簡単に縮められる方法について紹介していただきました。これはうまく活用するとlibgitやlibjpegなどのC/C++の資産を活用できる素晴らしいSwiftの機能の一つです。知らず知らずのうちに依存の先で活用しているものでもあるため、このSwift Expands!の場で動き方の方法について記録に残せたことは素晴らしいことだと思っています、発表ありがとうございました!

Bitkeyセッション 「After try! Core Bluetooth」

津島 雅俊 / @utisam

津島さんの発表している姿

https://www.youtube.com/live/wmvndv6SHVM?feature=shared&t=962

Bitkey所属の津島さんの発表ではCore Bluetoothについての深い話を紹介していただきました。Core Bluetoothはすでに現実世界で多く使われている機能一つです。しかし実際にミッションクリティカルな要素の一つとして運用する際には非常に多くのことを考える必要のある機能の一つであると言えます。Bitkeyとして事業を進める上で落とすことができない機能の一つであるBluetoothについて深い知見を発表していただきSwift Expands!の場で記録に残せたことは有意義であったと考えています、発表ありがとうございました!

Bitkeyセッション 「Swift on Windowsでほんとに楽しいアプリ開発」

あらさん (新山 響生) / @arasan01_me

あらさんの発表している姿

https://www.youtube.com/live/wmvndv6SHVM?feature=shared&t=1495

Bitkey所属のあらさんによる発表です。この発表では現実的にSwiftをWindows環境に持ち込み、すでに世界で多く使われている複雑なプロジェクトをSwiftと組み合わせるという意欲的な挑戦について簡単に紹介しました。WindowsとiOSという組み合わせはデバイスの所有形態を考えると、非常によくある一般的な組み合わせだとあらさんは考えています。ここでSwiftの資産をそのままWindowsに持ち込み、Windowsの資産も使うことを考えたときに避けては通れない環境構築について話すことは価値があると考えて紹介させていただきました。まだまだ世の中には知見が少ない分野でもあるためこのSwift Expands!の場で動画として記録に残せたことは良い活動であったなと思っています、発表させていただきありがとうございました!

座談会 : C++相互運用

ひめし / @himeshi_tech, あらさん / @arasan01_me

座談会中の様子

https://www.youtube.com/live/wmvndv6SHVM?feature=shared&t=2383

こちらは3本立てでC++とSwift、マルチプラットフォームというまだまだ踏み固められていない道を探検する座談会でした。C++とSwiftのメモリ管理、Swiftのマルチプラットフォームという内容で実際に探検する際にぶち当たる実装の問題、周辺環境の問題、もっと詳しくみるとリンクの問題やオブジェクトファイルの問題など座談会によって得られた知識からつながる見識は多くあります。Swift Expands!という場を作るきっかけとなった話題であり、座談会を快諾していただいたひめしさんには非常に感謝しています。ぜひ動画をみてトピックについて意見を持ち、次回のSwift Expands!で皆さんとお会いできることを楽しみにしています。

懇親会

現地参加者のみんな

かんぱーい!してる様子

この会が終わった後は発表者や現地参加の人たちを交えて雑多なトークがありました。ここでは座談会ではできなかったとても深い話題やEmbedded Swiftに知識がつながるBitkey製品におけるファームウェア実装の話など非常に面白い様々な話をしました。あらさん個人としては懇親会でとても深い話をできたことは企画して良かったな、と強く思いました。

おわりに

Swift Expands!は定期イベントとして開催しつづけます。会社の垣根や人の垣根を超えてSwiftや技術自体を楽しむ場として設計していきます。人や会社をつなげて知識を記録に残す活動を進めていきます。ぜひ一緒にイベントをつくってください!あなたの参加を待っています!

Twitterでわいわいしてる様子

Twitterでワイワイしてくれたみなさま、ありがとうございました!企画している側として非常に嬉しかったです!!

https://x.com/yechentide/status/1776195981421539403

https://x.com/kntkymt/status/1776196428832108679

https://x.com/mt_hodaka/status/1776197472421085216

https://x.com/kntkymt/status/1776201405126344740

https://x.com/kntkymt/status/1776202910550077744

https://x.com/kntkymt/status/1776216506986303556

https://x.com/kntkymt/status/1776218466892288068

Bitkey Developers

Discussion