くまねこのプログラミング観察記録

主にプログラミングと参加イベントとか

凡人が暇つぶしに書くブログ

プログラミングとか参加イベントなど…

React Native 環境構築 (2021/1 現在)

完全に思いつきでReact Nativeを触ってみた。
TypeScript触れられたらいいやぐらいの軽い気持ちで触ったら罠にハマりました。
だだの備忘録なので記事的面白みはゼロです。

React Native
reactnative.dev

Setting up the development environment
reactnative.dev
基本的にここでセットアップできる。

ひとまず今回はAndoridで動かすのを目標。
iOSに関してはまた追記していく。

Android iOS両方動いたので追記済み

環境構築

最新はVersion 0.63

  • Expo CLI Quickstart
  • React Native CLI Quickstart

のどちらかの方法。今回は赤字の方。

global に react-native-cli がインストールされていたらアンインストールしておく。
(競合が起こるっぽい?)

必要なライブラリをインストール
brew install node
brew install watchman 
brew install --cask adoptopenjdk/openjdk/adoptopenjdk8 // Android
sudo gem install cocoapods // iOS
パスを通す
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

source ~/.bash_profile 
プロジェクトの作成
npx react-native init AwesomeProject

オプション
バージョンの指定やTypeScriptの指定ができる

npx react-native init AwesomeProject --version X.XX.X
npx react-native init AwesomeTSProject --template react-native-template-typescript

実行する

Start Metro
Metro is a JavaScript bundler. It takes in an entry file and various options, and gives you back a single JavaScript file that includes all your code and its dependencies.

端的に言うとReactNative用のJavaScriptバンドラー。

facebook.github.io
github.com

Metro実行
npx react-native start
別Terminalで実行(AndroidStudioやXcodeのRunでも可)
npx react-native run-android // Android
npx react-native run-ios // iOS
f:id:kumaneko18:20210109184145p:plain:w200f:id:kumaneko18:20210109184107p:plain:w200
iOSAndroid

詰まったところ

  • npx react-native run-androidコマンドで動かせなかった

stackoverflow.com

gradle/wrapper/gradle-wrapper.properties.

- distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
+ distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
  • adbがTerminalで動作しない

Terminal にadbのパスを通す

export PATH=$PATH:/Users/username/Library/Android/sdk/platform-tools
source ~/.bash_profile 
adb devices
// 結果
List of devices attached
emulator-5554 device

Quick MemoっていうFlutterアプリ作ったよ!

QuickMemoっていうアプリ作ったよ !

f:id:kumaneko18:20200805065216p:plain

...で終わると流石にブログに書いている意味がってなるので

簡単に紹介!

Get it on Google Play

↑ダウンロードはこちらからできます!

どんなアプリかはGoogle Play Storeをのぞいてもらったほうがわかりやすいかと思います!

簡単にいうと、

シンプルなメモ帳レイアウトカスタマイズできるのが特徴です!

おすすめの使い方は買い物リストが一番実用性があるのではと思ってます。

 

ここからは開発者目線

アプリ開発

こちらはAndroidで出してますがFlutterで作りました。

制作期間的には1ヶ月半ぐらいです。空いてる時間をチマチマ使って作成しました。仕様設計込みだともうちょっとかかってると思います。

まず、個人的にFlutterは始めてから大体ちょうど1年満たないくらいで、元々は学生時からAndroid民なのでアプリ開発自体はそろそろ3年ちょっとでは?と思ってるぐらいです。プログラミングは5年半ぐらい。

Flutterの所感

最近じわじわとネイティブアプリ界隈でも手探り始めてる感じはしています。あとこれは肌感なのですが、Flutter触ってる人は元々Web界隈の人多い気がします。特にJavaScript使ってる界隈の方々多いなと思ってます。

ちょっと前までは技術が、、、とか言ってる人でしたが、最近になって技術が良くても使ってくれなきゃ意味ないなとか、マーケティングとか見せ方を考えるようになりました。

いろいろ修正したいからもっと個人開発の時間がほし・・・ 

だからと言って技術的負債は付きまとってくるので、特にFlutterは更新が結構大きいものが多かったり、フレームワーク自体にバグがあったりとかパッケージがAndroidiOSの片方しか対応してないとかあるのでたまにネイティブKotlin書いたりとかしてます。

最近はパッケージ内の修正で欲しいやつプルリク投げたりしてました。パッケージのAndroidの中身Javaだったんですよね...(遠い目)...とは言っても自分は根っこはJava民だし多分Javaの方が書けるのでそれはいいんですけど。だけどKotlin...。

あとパッケージの中身がJavaなの結構多いです。おそらく作ってる人がWeb界隈の人だからかと思うのですが、実行した時にJavaの警告よく出るので本当に多いと思います。AndroidもまだJavaあったりするのでまあこれは移行も大変だし致し方ないんだなと思います。

 

ちなみに今作Flutter2作目で前に作った↓ 脳トレ!じゃんけん!ぽん!もFutterアプリだったりします。(あまりにも需要がないなと思いながら作ったので大々的な紹介はしてないけどそこそこ技術的知見を得たアプリ↓)

Get it on Google Play

 Androidの方たちがよく言っているKotlinでFlutter書けるようになったらやるよ。は結構わかるのがつらいところ。きっかけがなかったら多分自分もまだやってないなぁと思うけれど、

 

iOS動かせたときの感動はすごい、本当にすごい。

あと何より、Flutter Webにものすごく期待してる。

 

Android片方しか動かしたことがなかったのでそれはそうなのです。 あとは細かいところで動作が気になるところは気になるので、今後に期待感を持ってます。

Quick Memo制作中

QuickMemo作ってる時はChangeNotifier使ったんですが、使ってるうちにStateNotifierがよかったかもみたいな感じにはなりました。Flutterでの設計の感覚がまだ掴めない感じはありますが、まあ基本的なことは一通りできるようになったかなと。

インストールしてもらったらわかると思うんですけど、結構普通のメモ帳より機能削ぎ落として、レイアウトカスタムを頑張って作ってみました。

あれ結構頑張ったのでみてほしいなぁと思ったり。

個人的に後悔してるのがSliverAppBarのWidgetを使わなかったこと。Appbarを隠したいと思った時にはもうすでに遅し状態なコードだったので断念しました。あと移行が地味に大変そうだったのもあるので、機会を見てか、新しいアプリ作り始めたら絶対入れようかなと思ったりしてます。

細かいところはまだ気になるけれども、リリースまでが大変なのでリリースまで持って行けたらこっちのものみたいな気概を持ってアプリ開発してました。はい。

 

ちなみに、

 

It's All Widgetsに載せてもらいました!Flutterで個人アプリ作ってる人はアプリを提出してみるのも良いかもです。

 

この機能足してほしいとかあったら...

バグとか見つけたら...

見つけたら...

twitter.com

か、アプリ内にGoogle Formのリンク置いてたりするので(匿名可)そちらからとか、普通にGoogle Playのレビューからとかでもらえるとありがたいです。

#shichi_quick_memo hashtag on Twitter

Twitterハッシュタグもあるので普通に呟いてもらっても探しに行けるので!

 

もしよかったらツイートしてくれると嬉しいです。

あ、無理にしなくてもいいです。

読んでいただきありがとうございましたm(_ _)m

 

---

くまねこ @zshichi18

OutputTextっていうライブラリを作った話

はじめに

OutputTextっていうライブラリを作りました。

github.com

 

経緯

もうちょい話しますと、

テキストファイル(.txt)から文章をTextViewに追加出力するだけのAndroidStudio用のライブラリです。

 

完全に思い付きで作りました。そんなコード量も多くないし綺麗でもないです。

 

というよりQRCoder作ったときに

「アプリのライセンスで長文TextViewに直接書いて調整するの無茶苦茶めんどくさい!」

といってファイルからテキスト出力するコードを書いてこれ再利用するかもしれないという理由から作りました。

ライブラリとか初めて作ったのでこれで公開方法合ってるのかいまいちなのですがこれはこれで作るの楽しかった。

 

実行画面こんな感じ↓

f:id:kumaneko18:20190531204541p:plain

 

レイアウトのデザインもQRCoderの時のボタンのデザインをレイアウトに対応させただけです。

 

あとから似たようなライブラリでそっちのほうが便利そうだと知って「これ使えばよかったんじゃ...」となったのは秘密。

 

知らぬが仏でライブラリが1つできてしまったよっていう話でした。

 

---

くまねこ(shichi)

 

 

AndroidアプリSimpleToDoを公開しました!

SimpleToDoを公開

ToDoの保存管理ができるAndroidアプリ"SimpleToDo"をGoogle Playにて公開しました。

このアプリについて

f:id:kumaneko18:20190524004900p:plain

名称

SimpleToDo(シンプルなToDoリストアプリ)

対応機種

Android5.0以上

入手方法

アプリストアGoogle Playにて「SimpleToDo」で検索

もしくは以下のバナーから入手できます。

Get it on Google Play

 主な機能

  • ToDoの登録
  • 登録したToDoをチェック

質問・改善の問い合わせ先

 Google Play上に掲載しているのでそちらからお願いします。

もしくはアプリ内からフィードバックを匿名で送ることができます。

是非ご活用ください。

その他

Google PlayおよびGoogle Playのロゴは、Google LLCの商標です。

 

中の人制作秘話(開発者側の話)

 連続してアプリ公開をしてしまいました。

 

作った理由色々あるのですが前のQRCoderと共通してるのが二つとも自分がよく使う系のアプリということで、目標が今使ってるアプリを自分のアプリに置き換えるが目標なので最低限の移行ができたように思います。

 

もう一つの理由は自分がどれくらいできるのか確かめるためだったのですがいまいち自分ではよくわからなかったです。逆にこれぐらいだったらできるんだなと思いました。うーん…自分の上限がわからんままです。

 

正直もっと細かく言えば気持ちの休暇とストレス発散の気持ちもあるのですが…何より花粉の時期でなぜか今年いつも以上に結構つらかった症状が治まったのでやっと落ち着いてきた感じです。

 

知ってます?スギの後にヒノキがあるんですよ

(本当に春の時期だけ沖縄行きたい)

 

 一応これで少し気が晴れたんで少し個人のアプリ開発からインプットの時期に戻ろうかと思います(そろそろやらないといけないことがあるのでそっちに気持ちを振る予定)

 

このアプリの苦労話はSQLiteを雰囲気で使っていたのを理解できたということとRecyclerViewの役割なんとなくわかったぞ状態まで持って行けたことですかね。DBに関してはMySQLを直たたきはしたことあるのでそれをどうAndroidで使うのかがいまいち理解できてなかったのでそこら辺を理解しながらとなりました。

 

RecyclerViewの中にチェック欄を入れたのですがこれが悩み物で完全に雰囲気自作です。頭の中で考えてたぶんこうしたらできるんじゃないかコードで構成されてます。一番時間かかったのこれですね。

 

ボタンのbackgraundがQRCoderの時に自分で作ってから持ってきたんですけど地味に気に入ってるので自分のアプリでこれからも再利用されていくと思います。

 

これに関しては設計を考えず直に思った通りに書いていきました。そんな大きくないアプリだったので結構汚いコードになってると思います。二重コードがぱっと見でそれなりにある気がしてます。

 

ToDoアプリってサンプルあちこち落ちてるので絶対見ないぞ!って思いながら作りました。これでサンプルと自分のコードの違いが解っていいんじゃないかなとは思ってます。学習効率的には悪そうですが…

 

突貫で作ったのでバグ絶対あると思うんですよね。自分で気づいてないので使いながら探していきます。

 

必要最低限で作ったので細かい機能とかWidgetのことをすっかり忘れてたので時間ができたらやります、自分が欲しいのでやります。

 

---

くまねこ

 

 

 

Androidアプリ「QRCoder」を公開しました

QRCoderを公開

QRコードの読み取りと作成のできるAndroidアプリ"QRCoder"をGoogle Playにて公開しました。

このアプリについて

名称

QRCoder(QR Code Reader &Generate)

対応機種

Android5.0以上

入手方法

アプリストアGoogle Playにて「QRCoder」で検索

もしくは以下のバナーから入手できます。

Get it on Google Play

主な機能

質問・改善の問い合わせ先

 Google Play上に掲載しているのでそちらからお願いします。

もしくはアプリ内から匿名アンケート形式で送ることができます。

是非ご活用ください。

その他

QRコードは(株)デンソーウェーブの登録商標です

Google PlayおよびGoogle Playのロゴは、Google LLCの商標です。

 

中の人制作秘話(開発者側の話)

QRコード読み取りでURL開く機会が意外多くて、それなら自分で使うやつ作ってみるかと開発を始めた結果、あれやこれやと機能を注ぎ足していく内に最終的に公開するかって感じで公開することになりました。

 

学生の時とか教授の指定したURLのQRコード提示で使ってたんですよ。あとはイベントのアンケートでQRコード使ってURL出したりしてて、それを自分のアプリとして使いたかったのと、自分でどこまでアプリ作れるかを試したかったっていうのが大きかったです。

 

と言っても結構余力は余ってるのでもう少し新しいライブラリ使ってみたらよかったかなと思いました(そこは改善でリファクタリングしていくかもしれませんが…)。というかコード書くよりむしろ公開準備の方が大変で、これはこれでかなり勉強になりました。

 

あとはKotlin初めて使いながらだったのでたまに引っかかったりしてました。Javaを使ってたのでそこは新鮮味が強い感じです。Javaだとすっと書けるのにみたいなことを思ってたのですが、途中からKotlinの方がすっと書けるなって思う方が多かったのでいい言語だなと思いました。

 

デザインは全部自作です。アイコンやらレイアウトやら全部自作です。考えてる時間は結構楽しかったです。アイコンでサイズ感を間違ってしまったので後々改善していきます。

 

ソフトウェアの設計は…途中から崩壊していったのでこれまたリファクタリングします。あとなんとなくの表面上の理解でMVPを採用すると何が正解なのかわからなくなるところが多かったので設計はある程度量を書かないと何がどう使われて問題なのかわからないっていう知見は得ました。そして自分は何もMVP設計わかってなかったんだなということが分かったのでいろいろ勉強していかないとなと遠い目になりました。

 

現時点で数か所修正していきたいところがあるのでissueに投げて時間を見つけながら修正していきますm(__)m

 

---

くまねこ

 

 

DroidKaigi2019にスカラシップで参加しました(各セッション感想)

はじめに

題名どおり、DroidKaigi2019に参加しましたー

大学生です。スカラシップで行ってきました!

スカラシップで参加したのでスカラシップでこそみたいな感想は下からどうぞー

kumaneko-progdiary.hatenablog.com

 

完全に技術の感想を含めたのが以下のものになるのでちょっと書いてる人のテンション感が違います(今書いてる方が勢いで書いた分テンションが高いです)

 

この後に書いてある各セッションの感想は実務経験がない大学生が書いているので受け取り方とかに間違いがあるかもしれませんがあくまで個人的感想ということでよろしくお願いしますm(_ _)m

目次

DroidKaigiとは?

DroidKaigiとは?っていうのは下のURLから見てみてください!

Android開発を行っているエンジニアさんが沢山参加してました!

droidkaigi.jp

DroidKaigi1日目

ウェルカムトーク

 

「かっこいい!」な動画から始まりました。

Contributorになれなかったので来年こそは!なりたい!

 

各セッションのスライドや動画はタイムスケジュールから全部URL飛んで見れるみたいですよ。


マルチモジュールなプロジェクトでテストはどう変わる?

droidkaigi.jp

マルチモジュールが流行りなのかと事前にタイムスケジュールを見ていた時に思っていたのですが、このセッションを聞いてなるほどなーと思いました。

テスト自体は個人開発だと動いたらOKみたいなところがあったのでほとんどしたことが無いんですよね…とか思ってましたけど大きい開発でだと、必要なものだとは分かるのでなるほどと聞いてました


マルチモジュールプロジェクトでのDagger2を用いたDependency Injection

droidkaigi.jp

前のセッションからそのまま居ました。

マルチモジュールがどういうものかというのがわかった状態で聞けたのはよかったです。DIは最近のアプリ開発だとだいぶ必須みたいな感じになってますね。

Daggerは何だかんだで使ったことがないですけど今じゃ結構使ってる企業さんも多いですね。

 たまにDIとDIPって勘違いしてる人いますけど違いますからね(余談)


アプリをさらに成長させるための技術戦略(振り返りとこれから)

droidkaigi.jp

マッチングサービスってちゃんと収益になるんだーと別のこと思っていました。

アプリ開発の成長のフェーズに対応してちゃんとした変化が見えてきたのがとても面白いなぁと思いました。

サイバーエージェントさんでFluxってやっぱり流行ってるんですね。今回のDroidKaigiのアプリもFluxでしたし。AbemaTVもFluxらしいですよね。

ここでもマルチモジュールが出てきて、完全にアプリ開発が基本的に大規模のものが増えていっているんだなーと感じました。

 

ぼくのかんがえた最強のUsecaseの作り方~あるいはビジネスロジックとはなにかという1つの回答~

droidkaigi.jp

個人的に一番はこれを聞きに来ました。

CleanArchitectureの話ですね。UseCaseの話ですね。

聞いた感想が「おおっ、自分の知ってるビジネスロジックとUseCaseじゃないぞ!」です。ビジネスロジックとかよくわからない言葉をちゃんと言語化するとそういう考え方もあるんだなぁと思ったりしました。

個人的なUseCaseもといビジネスロジックは「UIに関わらずModelとして扱わないもの」です(個人的感想)

昨日今日でTwitterで議論が起きていたので見ていて面白いです。

 

Redux for Android

droidkaigi.jp

 ReduxはFluxの上位互換というイメージしか持ってなかったのでどう使われているのか聞けたのはよかったです。

やっぱり単一方向のデータフローってアプリ開発には向いてるのかな?と思ったのが感想です。

 

DroidKaigi2日目

Not Just Rotation: Configuration Changes on Android

droidkaigi.jp

 英語同時通訳でした(すごい!)

AndroidでのConfiguration Changesの話です。Androidに関する変更の種類とかその改善とかの話でした。英語がちょっとなるほどわからん状態になってしまったので反省ですが面白かったです。

 

Guide to app architectureを踏まえた既存アプリの設計改良

droidkaigi.jp

設計ということで聞きに行きました。

Activityが長くなるとかよくやると思って聞いてました。回転の話は前のセッションの続き感がでて2回目だったのでやっぱり状態保持とか再生成で気を配るんだなーと思いながら聞きました。

 

Deep dive into MotionLayout

droidkaigi.jp

「あ…英語だ…」って思いながら聞いてました。

初心者枠でUIデザインと書いてあったのとMotionLayoutの文字があったのでなんとなく動きのあるレイアウトの話なのかな?と思いながら参加しました。

ちゃんとわかるか心配でしたがセッションが始まってしまえばMotionLayoutに引き込まれてました。

「なんだこれ!面白そう!」

ってなったのでやってみたいと思いました。

知らないものを知れたということで個人的一番来てよかったセッションでした。 

 

Android Studio設定見直してみませんか?

droidkaigi.jp

「おー!」

とても面白かったです!

真似したくなるものばかりでちゃんと設定やってみようかなと思いました。ネタ枠?だったらしいですけど普通にためになることも多くて面白かったです。

あの場の空気が出来上がっていて2日間で見てきたセッションの中で一番盛り上がってました。

 

今日から始める依存性の注入

droidkaigi.jp

1日目のやつでこちらを聞いてください的なことを言っていたのと初心者枠で選んでみました。

依存性の注入の話ですね。Daggerはよく聞いてたのですがKoinは初めて聞きました。うっすら聞いたことがあったような気もしましたが記憶に残ってないのでたぶん初めてです。

依存性の注入に関してはオブジェクト指向的には理解はしてるつもりなんですが、DaggerやKoinとしては触ったことが無いのでなるほどなーって思いながら聞いてました。一度使ってみようかなと思います。

 

ゼロから実装する縦書きTextViewとその周辺技術

droidkaigi.jp

個人的にエディタを作ろうとしてたという経験があるので結構楽しみにしてました。

結果として予想と内容の裏切りがすごかったです。途中で「これは…たぶん想像していたのと違う…」って思いながら聞いてました(いい意味で)

途中で少しニッチな感じがだんだんと醸し出されてきてよく分からなくなっていくのと同時に逆に面白くなるという不思議なセッションでした。

最後のオチが確かにそりゃそうだよねっていう感じだったのも面白かったです。

スマホで縦書きはやるものじゃない)

 

実践 WorkManager

droidkaigi.jp

みてねを作っている会社ということで選びました。

ResponseTimeの差が歴然としていてUX改善ってやっぱり大事なんだなと思うセッションでした。たしかにロード時間長いと待てないなぁと思うこともあるので…

改善までの過程も面白いなーと思いながら聞いていました。

 

BLEアプリ設計パターン

droidkaigi.jp

このセッションはホテルで同時配信を聞いていました。

IoTが気になっていたのでこういうセッションも一つは聞いておこうと思ったのと設計と書いてあったのでちょうどいいかなと思ったので聞きました。

スライドがわかりやすくてとても聞きやすかったです。BLEというものの前提知識は全くなかったので「こんなものがあるのかー」という感じでセッションを聞いていました。

 

おわりに

初めて参加しましたがたくさん知らないことが聞けてかなり勉強になりました。

実務になるといろいろ規模が大きくなっていってその企業ごとに対処も聞けたのは面白かったです。

あとは、設計の話は個人的に好きなのでとても面白かったです。

来年もいけたらいいなーと思います!

聞けなかったものは動画で見ようかなと思います!

 

---

くまねこ

DroidKaigi2019にスカラシップで参加してきました

はじめに

題名通り、スカラシップでDroidKaigi2019に参加してきました。

技術的なことは書かずに経緯と単純に感想文です。

ちなみに大学生ですよ。

 

 各セッションの詳しい感想はまた別に書きます。

追記:各セッションの感想書きました(こちらの方がテンション高めです)

kumaneko-progdiary.hatenablog.com

目次

経緯

DroidKaigiのことは去年開催の時点で知ってました。

その頃はAndroidアプリ開発を始めて半年ぐらいだったと思います。

 

前回のDroidKaigiで1つだけ気になるセッションがあったのですが、学生で地方でなので行けるわけもなく。でも、そこでこのDroidKaigiというものがあるというものを知りました。結果そのセッションはキャンセルになったのですが...

「来年は行くぞ!」

と、思ったのを覚えてます。

 

とは思いながらAndroid開発は続けていましたが 1年が経ったときには少し自分の中の状況が変わってしまっていたのと、昨年後半は追い打ちをかけて個人的に少し落ち込んでいたのもあって「もういいかなぁ、どうせ行けないし」と思ってました。

 

お金(交通費)+大学4年生(卒論)+関西住み+ α ということで素直に行けないなぁと思ってました。

そしたら、

と教えていただきました。

スカラシップの存在自体は知ってましたが、自分がこれに応募してもいいのか?という気持ちになってました。

すると、

 4回生と言ってるところが地方感丸出しなのですが、この春卒業なんですよね自分。

とまあ、この返信をもらってしまった時に「もうこれは応募するしかないのでは?」となりました。

 これは、応募アンケート書いてるときの心境。

 と、スカラシップでDroidKaigi(東京)に行けることになりましたとさ。

 

親が相当疑ってて「本当に大丈夫なのか」と何回も聞かれました。

親はITないし理系からほど遠い人(父親にいたってはガラケー)なので仕方ないのですが…

自分も参加したことないしそこまでやってくれるのかって驚いたので東京のIT企業すごいなと思わざるを得なかったです。

ただのプログラミングの日常を垂れ流してただけのTwitter様様です。

 

卒業研究で1月はほとんど大学に閉じこもり、発表も無事終えて、論文も書いて、と時間が空いたと思ったら月末になってDroidKaigiまであと1週間になってました。

 

それから当日まで何してたか?っていうのは下のやつ見てくださいな。

これ ↓ に書いてる空白の3日間は卒業論文書いてました。

当日までに卒論終わらなかったですけどね(帰ってから2月いっぱい頑張りました)

kumaneko-progdiary.hatenablog.com

 

Contributorになりたかったぁ… 

 

 

前日

東京に前日入りしました。

なぜか新幹線で酔いました。

これが前兆だったのかもしれないなぁと後から思ったり。

 

DroidKaigi1日目

1日目見たセッションは、

  1. ウェルカムトーク
  2. マルチモジュールなプロジェクトでテストはどう変わる?
  3. マルチモジュールプロジェクトでのDagger2を用いたDependency Injection
  4. アプリをさらに成長させるための技術戦略(振り返りとこれから)
  5. ぼくのかんがえた最強のUsecaseの作り方~あるいはビジネスロジックとはなにかという1つの回答~
  6. 休憩(企業ブース)
  7. Redux for Android
  8. パーティ

一言でいうと体調が本当にやばかったです。

記憶が結構あやふやなんですよね。

慣れない遠出と、あとから思えば会場かなり暑かったのが原因かもしれないです。

次の日ケロッとしてたので。

 

企業ブースに行ってステッカーとかお菓子とかもらいました。

各企業さんありがとうございましたm(_ _)m

 

企業ブース行ってもあんまり学生だと気づいてもらえなかったのと「学生です」って自分から言うのもなんだかなーって感じだったので「大学生は見た目じゃ学生の内に入らんよなーそりゃそうだ」とか思ってました。

 

それと思考が回ってなかったのであまり話という話ができなかったのはちょっと後悔しました。エンジニアがあんなにいる状況自体が初めてに近い状態だったので少し緊張してしまった気がします。

これじゃだめだと思って「ステッカーもらっていいですか?」を合言葉に回ってみると上手にとは言えなかったですが、意外と話せたり、こういうイベントあるよとか教えてもらったりクイズしたりと結構充実しました。

もらったステッカー達↓

f:id:kumaneko18:20190812175234j:plain

 

こういうイベントあるよっていくつか教えてもらって思ったのが「距離的に行けないな!わかってるけども!」と言葉を出さないけれど思ってました。

 

参加者のMac率すごいですね。感覚98%ぐらいでした。Web企業はやっぱりそうなのかー!という心境でした。

 

体調もあんまり戻らなくてパーティは最低限のご飯を頂いてすっと抜け出しました(すいません)

とは言っても話す人いなかったのですごく寂しかったんですよね。

 パーティ体調良ければふら~っと回ったんですけどね。気力が…。

 

急募:話しかける勇気

 

DroidKaigi2日目

2日目見たセッションは、

  1. Not Just Rotation: Configuration Changes on Android
  2. Guide to app architectureを踏まえた既存アプリの設計改良
  3. Deep dive into MotionLayout
  4. Android Studio設定見直してみませんか?
  5. 今日から始める依存性の注入
  6. ゼロから実装する縦書きTextViewとその周辺技術
  7. 休憩(企業ブース)
  8. 実践 WorkManager
  9. BLEアプリ設計パターン(動画)

完全に体調全回復してました。

 

3つ目に見たDeep dive into MotionLayoutのセッションは本当に来てよかったと思えたセッションでした。英語に泣かされた経験があるので少し敬遠していたのですが、初心者枠って書いてあるのを信じて参加しました。

 

結果、英語わからないけどなんか凄い!こんなことできるんだ!という感じでした。

 同時に英語読み聞きぐらいはできるようになりたいな、というかならないとなと思った瞬間でした。ここで英語って必要なものっていう自覚が初めて湧きました(遅い)

 

前日を取り返すかのように見てましたね。前日の反省を踏まえてちゃんと休憩を入れるようにしました。

 

あとから動画配信されるからこそ気兼ねなく企業ブースに行けたのはよかったです。でもその場で聞くのが楽しいっていうものもあったので(Android Studio設定見直してみませんか?というセッションは確実にその場の空気がありました)無理なくという感じで選んでました。

 

最後のセッションはホテルで聞いてました。

同時配信すごい!

 

後日

新宿周りで少し観光しました。

雪すごかったです。

 

雪の予報で新幹線止まるのではと心配してましたが、帰りは遅めにしていたので定刻で帰れました。昼間は止まってたみたいですけど自分としては影響全くなかったです(新幹線エラー不良?)

 

思い出したので追記で個人的な観光の面白いネタ話書いておくと、

新宿のロッカーで中国人に使い方教えたり、新宿御苑アメリカ人っぽい人達に写真とってと撮ってあげたりとかしてました。

 

どっちも日本語通じず、普段でもよく道を聞かれる自分にとっては外国人にも適応されるんかと面白い体験をしました。それと会場で部屋どのへんか聞かれたのもたぶん外国の方でした(日本語通じた)。

中国の人って簡単な英語通じると思ってたのが通じなくて、でも翻訳アプリを向けてきたので話すとちゃんと伝わってるみたいでアプリすごいなってなりました。

おわりに

スカラシップで参加しましたが、参加できてよかったです。地方に住んでて行きたいと考えてる学生の方はぜひスカラシップで参加してみてください!(来年スカラシップ枠あるのかわからないですが…)

 

個人的に自分がそうなのですがあまりこういうものに参加したことが無い学生に行って欲しいなぁという感じです。自分の最初の一歩にはかなり大きすぎるイベントだった気がしますが、勢いも大事だなぁって思いました。

 

DroidKaigiに関してだけで言えばAndroidアプリ開発始めて半年~1年だと結構内容わかるんじゃないかなと思います。自分は1年半ですが、どれも聞いたことはある言葉ばかりだったので1年ぐらいだと無理せず聞けるかな?と思いました(個人的感覚)

 

もちろん知らない言葉も出てきますがそれを知るのがこのDroidKaigiのカンファレンスの意義のような気がするので気にしないでいいのかなと思います。

 

Twitterに強い学生さんがたくさんいると思うんですけど臆せずに参加してみてください!

 

関西で勉強会みたいなものは一応あるのですが、同級生も含めて普通はあまり積極的な人は多くないです。そもそも存在自体知らなかったり、学生が参加していいものっていう考えの前提自体が薄い印象です。私もAndroidに興味をもって始めたのが1年半前で、勉強会という言葉を知ったのがちょうど1年前です。同時にDroidKaigiというものを知ったのもその時です。

というかさらに言うと学生が参加してよかったの自分が知ったの学外でとあるプロジェクトに参加した時に他の大学の人に教えてもらって結構最近っていう…(去年の7月ぐらい)

「DroidKaigiは大きいカンファレンスだから学生も行けるんだ。へぇー。」

ぐらいの感覚です。はい。これは完全に無知でした()

 

Android開発始めたのに一応きっかけみたいなものはあったのですが、友達もあんまりいい反応をしてくれなかったので、結局基本ずっと一人で手さぐりで開発してました。知らなかったのもありますが、勉強会も少し臆病な自分が混じって参加まではしたことなかったです。Twitterで情報を集めるようになってから少しずつ世界が広がっていった感じです。

 それまではWeb技術以外のことをしてきたので新しいものを全体で追いかけてるWeb業界は自分にとってとても新鮮なので好奇心が全く飽きずに続いてる理由の一つかもしれないです。

 

最年少で中学生がいるって聞いたときは、とんでもなく恵まれてるなぁーって少し羨ましくなったりしてました。

 

関西はWebやアプリ開発を主体で行っている企業さらに新卒で募集をかけている企業って本当に片手で数えるほどしかないんですよね。他と比べたらある方ですが、Web系が本当に少ないです。あっても東京本社や受託開発なのでDroidKaigiに参加していたような自社開発系はほとんどないです。

そんな中でアプリ開発を全面的に推している企業を知れたのだけでもとてもよかったなぁと思いました。でもやっぱり東京だなぁ(羨ましい)っていう感じです。

 

東京に来てみた印象として、確実に情報量が違うなという感じです。自分の持っている技術を惜しみなく話せる人と場所とそれを実現できるIT企業が関東に集まっているという印象が強かったです。DroidKaigi前後にもAndroid関係の勉強会が開催されていたみたいですね(すごい!)

 

自分の同級生でものすごくプログラミングができる人がいるのですが、その人は東京に行くという選択をしなかったです。情報系の大学に行ったからってプログラマーやSEにならない同級生もいます。もちろん関東に行く人もいます。大学生の就活事情ってそんなもんです。

別に関東がいいとか地方がいいとか正直自分にはどっちがいいとかわからないですけど外の世界を知るのも大事なのかなぁというのは感じました。

 

というわけで、

 

来年以降に学生さんで行きたいと思ったときに読んで参考にしてもらえるような感じのスカラシップで参加したからこそみたいな文章頑張って書いてみました。

 

各セッションの感想はまた書きますー

書きましたー

それと思い出したこと結構色々追記してますー

 

---

くまねこ