インターンのサポート

8月27日火曜日、曇りのち雨

毎年8月の終わり二週間、高専からの学生を受け入れてアプリケーション開発実習をしている。インターンを経て入社してくれる学生も数人いて、だから会社の採用活動として重要な位置を占めているっぽい。

Android アプリの開発、それも Kotlin で。というので空いている時間にお手伝いしますよと手を挙げておいたこともあって、今日は半日学生さんたちのお世話。

パーミッションをリクエストした結果が非同期で返ってくるだとか、 UI を持たないサービスからパーミッションを要求するにはどうするのかだとか。あるいはフィールドの初期化で getIntent().getXxxExtra() して値が取れません、だとか。
Kotlin のデフォルト NULL 非許容と、 Android API (Java)の NULL 許容の合わせこみで実行時チェックに引っかかって落とされるとか。

ああ、こういうところで引っかかるんだなあ。(慣れてしまったけれど、そりゃあ知らなきゃ乗り越えるのは難しい)

* * *

非同期処理をあたかも直列処理のように書ける Kotlin の Coroutine は衝撃的な発明だとおもっている。
Kotlin を前提にいま Android フレームワークを書き直せるとなったら、どういう設計が可能になるだろうか?

長時間にわたって、ユーザーとインタラクションし続けるアプリケーションのすべての経路をひと続きの関数で表現することは難しい、とおもう。
一方で現在提供されているライフサイクルイベントをオーバーライドして作成するアプリケーション設計は、どのイベントの後になにが起きうるのか、可能性と遷移の経路が見えないから難しい。

* * *

実現したいことは人の数だけあって全部違うから、万能のフレームワークをつくるのは難しい。そういう話になる。

僕が僕の欲しいものを簡単につくれるようにするためのフレームワークって、つくれるだろうか?(なにがつくりたいのか、最近わからなくなっているのでそれもまた難しい)

この記事が気に入ったらサポートをしてみませんか?