技術書典7にサークル参加します

やぎにいです。今回技術書典7に初めてサークル参加するのでそれについて書かせてください。

サークル名は「鳥のささみ」場所は「い09C」です。
https://techbookfest.org/event/tbf07/circle/5686371737927680

サークルページのジャンル詳細にあるとおり、Android/Kotlin/Javaあたりの知見、Tipsなどを数人で書いて1冊出す予定です。

執筆者は現在4人を予定していて、各々1,2トピックを書いて合同誌になる予定です。(進捗がんばります)

4人とも現状最前線でAndroidアプリ開発をしているのできっと良いものが書き上がるのではないかと思っています。

まだ全員分が揃っていないので、自分自身が書こうとしているトピックを紹介しておきます。

1. Kotlin MPP+SwiftUI+Jetpack ComposeでAndroidアプリ開発者がマルチプラットフォームアプリ開発のユートピアを夢見た話(執筆中)

Kotlin MPPを使ってiOS, Androidアプリのロジック部をKotlin Nativeで書く話を聞いてだいぶ時間が立ちましたが、今年のWWDC、Google I/OでそれぞれSwiftUI, Jetpack ComposeとStoryboardやLayout XMLではなくてSwift, KotlinでUIを組むようなものが紹介されました。

自分はAndroidアプリ開発者をやっていて、iOSアプリを見るときにStoryboardを見るのがすごく難しくて何度もXMLでConstraintLayoutとかで書きたい……と思うことがありました。

ここでSwiftUIが登場してきたので、SwiftからUIを組むのであればだいぶハードルが下がるなと思いXcodeのBeta版で触ってみたところ非常に感触が良かったです。

すべてをSwift, Kotlinにおさめてマルチプラットフォームアプリ開発を夢見たので実際に僕が考える「マルチプラットフォームアプリ開発について」から実際にKotlin MPP+SwiftUI+Jetpack Composeを使ってHello, Worldするところまで(余裕があればもっと踏み込みます)を書いていきます。

前半はちょっとポエム要素が強めで、後半は実際にソースコード等を紹介しながら実際に動かしていく流れになる予定です。

2. Go言語を使ってAndroid端末のlocalhostで動くAPIサーバーを作ってサクッとデバッグする話

これは実際に自分が仕事で行っていた話をまとめる予定です。マルチプラットフォーム話を書いて余裕があったら書く予定です。

受託などの案件をやっていると、APIの定義はあるもののStaging環境に全然デプロイされない(並行してAPI側も開発しているなど)状況が続いてアプリ開発のスピードが落ちてしまうことがあります。

もちろんここでいい感じの開発現場であればサーバー側のコードを引っ張ってきてDockerでどっかーんして自分で手を加えることもできるとは思いますが、手元にあるのはAPIの要件定義書のみ……!

そこで僕はGo言語を使ってAndroidのlocalhostで動くAPIサーバーを作って、アプリからlocalhostを参照して、静的なjsonを受け取って動作の確認を行って実際にAPIがデプロイされるまでつなぐということをしていました。

この話をちょろっとすると結構面白くてウケがいい(実用性はおいといて)のでせっかくなので本にしてみようと思っています。

僕は以上2件(進捗によっては1件)を執筆しようと思っています。

ぜひ当日は「い09C」にお越しください!
開催日直前にまた支払い方法や値段などを紹介できればと思います。

また、励みになるので興味のある方はぜひチェックリストに追加してください!
https://techbookfest.org/event/tbf07/circle/5686371737927680

よろしくおねがいします!(執筆頑張ります!)

あたらしくなりまして

生まれて初めてブログを開設したときはさくらのレンタルサーバーにWordPressを構築して数年間運用していたのを思い出しました。

その後、ちょっと踏ん張ってMiddleman+AWS+CircleCIでブログの環境を構築してMarkdownファイルを書いてGitHubにPushすればCircleCIが動いてビルドして静的なHTMLファイルがS3にアップロードされて、CloudFrontにのっかって皆様の手元にHTTPSでお届けする環境を運用していました。

そしてそれ以来となるWordPressに戻ってくることとなりました。なぜかというのを箇条書しちゃうと。

  • 自分にはメンテナンスをするコストがでかすぎた
  • すべてWeb上で完結したかった
  • Chromebookを買ったのでローカルでMiddlemanを動かしてプレビューしたりするのが大変になった

という3点が理由です。 自分が今まで使っていたMiddlemanもバージョンが古かったり、メンテするにもRubyやSlimなどの知識が薄くそこまでやるモチベーションがなかったのが大きいです。

Chromebookを最近買ったのでWeb上でブログポストをかけるというのがすごく大きく移行に踏み切りました。

ただやっぱりMarkdownで書けるのはすごい良かったし、WordPressのエディターが数年見ないうちに死ぬほど使いづらくなっているのでここはプラグインとかでよしなにしたいです。

今まで書いていたブログポストを本当は自力でこっちのブログに移そうかと思ったのですが1記事目で心折れました。

そのかわりに https://archive-blog.yagi2.devというドメインに移して残しておくことにしました。

本当はホスト名を変えるのは良くないのですが、まぁ1からやるか……みたいな気持ちが強かったので思い切ってしまいました。

というわけで、新生やぎ小屋よろしくおねがいします。 これですごく書きやすくなったのでちゃんとポストしていきたい気持ちです。

まずは技術書典7にサークル参加するのでそっちの執筆をしますが、参加記や参加する前にサークルの紹介なども書きたいですね。

fun yagi2() {
  println("はろー new やぎ小屋")
}