WaterCell Developer's Blog

ウォーターセル株式会社 スマート農業システム開発部のブログです。

Firebase App Distributionのアーリーアクセスが来ました

開発部の中川@Nkznです。

言い訳

Firebase App Distributionのアーリーアクセス権をもらえたので、触ってみた記事を書こうと思いました。しかしNDAにより中身がペラペラになりました。「App Distributionは正しくCrashlytics Betaの進化版である」に書かれた短い感想文だけが本編です。

目次

テスター向けにアプリを配布したい

モバイルアプリがある程度できてきたら、社内やベータテスターに向けて、クローズドな配布を行いたいですよね。iOSならTestFlight、AndroidならGoogle Playのクローズドトラック、といった具合に、ストアのサブ機能のような形で、公式にもテスター向けの配布がサポートされています。

ただ、TestFlightにせよ、Google Playにせよ、アップロードしてから配布が開始されるまでに時間がかかったり、審査が入ることがあったりして、内部向けに使用するにはあまり使い勝手がよくありません。Google Playの内部テスト版は配布が早いのがウリだったはずですが、なぜか審査対象になっているらしいので、やはり少し時間がかかるケースが出てきます。

私たちには、審査も変換もなく、内部向けにシュッとテスト用アプリを配布できるソリューションが必要なのです。

テスター向け配布のサードパーティサービス

モバイルアプリをテスター向けに配布するサードパーティのサービスといえば、国内での有名どころはFabricのCrashlytics BetaとDeployGateだと思います。

get.fabric.io

deploygate.com

特にCrashlytics Betaはお金もかからないので、重宝していました。

そんな中、Fabric事業がTwitter社からGoogle社へと売却されました。CrashlyticsはFirebaseへの統合が進んでいきましたが、Crashlytics Betaのロードマップがなかなか見えずに、不安な日々が続きました。

Firebase版のCrashlytics Betaがアナウンスされた

5/7にFabric Blogで、Firebase版のCrashlytics Betaともいうべき「Firebase App Distribution」がアナウンスされました。

fabric.io

これは待ち望んでいたものだったので、アーリーアクセスに応募してみたところ、4ヶ月ほどの期間を経て、本日、アーリーアクセス権をもらえました。

Firebase App Distributionとは

現状では、Firebaseの公式ドキュメントにある言葉が一番わかりやすいです。

firebase.google.com

Firebase App Distribution is the next evolution of Fabric’s Crashlytics Beta.

コンセプトは次世代版Crashlytics Betaです。Firebaseシリーズなので、紹介動画も作成されています。

www.youtube.com

これを見る限りでは、Crashlytics + Crashlytics Betaが提供していた体験がそのままFirebaseにスライドしてきたように見えます。

実際に触ってみて

ひと通り触ってみましたが、あまり言えることがありません。というのも、アーリーアクセス参加者向けに公開されている公式ドキュメントの冒頭で、釘を刺されているからです。

f:id:Nkzn:20190912142352p:plain
釘です

というわけで、詳細がわからない程度の感想文を書いて、お茶を濁したいと思います。

App Distributionは正しくCrashlytics Betaの進化版である

ひとまず、Android, iOSそれぞれに向けて配信をしてみました。

Crashlytics + Crashlytics Betaが提供していた体験がそのままFirebaseにスライドしてきたように見えます

ほぼ前述のこの言葉の通りで、Crashlytics Betaの良かったところはほぼそのままに、痒いところに手が届かなかった部分が改善されています。Betaで採用していた運用フローは、ほぼそのまま踏襲できるはずです。

特に魔法じみたことが新しく導入された様子もありません。AndroidやiOSのビルドに慣れた人ならば、問題なく利用することができるでしょう。

CI周りでも嬉しいツールが用意されていますが具体的な名前が出せません! つらい!

まとめ

具体的な内容について触れない縛りで記事を書くのは難しいということがわかりました。

ひとまず言えるのは、周辺ツールも含めて、安心してCrashlytics Betaから移行できそう*1ということです。Crashlytics Beta愛好家のみんな! 未来は明るいぞ!🎉

*1:まだ課金体系がよく見えないけど

WaterCell Tech Night #4 を開催しました

f:id:sug1t0m0_agrict:20190722183158j:plain
WaterCell Tech Night #4

こんにちは、杉山 @sug1t0m0_agrict です。

3回目からだいぶ期間が空いてしまいましたが(決まり文句担ってしまいました)、6/21日に4回目の社内開催のテックトークイベント「WaterCell Tech Night #4」が無事に開催されました。

いつもどおり、🍕と🍺と発表者を、みんなで囲み、和気あいあいと開催されました。 最重要課題でもあった、賞味期限スレスレのビールの消費を無事に達成できて幹事としても、嬉しい限りです。

「#4」も無事開催され「#5」を計画中な訳ですが、弊社内外から「このイベントを一般公開してみては?」という意見もあり心が揺れています。

以下「 #4」 のダイジェストです。 ちなみに発表順はランダムになるように毎回ガチャを回して決めています。@_yukikayukiさん、いつもご協力ありがとうございます。

業務で使えるXDを使ったクソコラ技術 @wtnb_j

「XDを使って業務を効率化しちゃおう!」という趣旨の発表でしたが、途中からクソコラ画像の作り方教室に(笑) マスク機能はUIを絡めたドキュメントを作成するときも役立ちそうです! 弊社では徐々に流行り始めていますが、プレゼン資料ももちろんXDでアニメーションもサクサクでした。

ExcelでWebAPIを叩きデータを取得する @10mikiya

speakerdeck.com

もともとExcelでWebAPIを叩くことはできたらしいんですが、Power Queryを使うことでデータの整形がとっても楽になるということでした。 また、VBAを使った画像の取得の話は、ノウハウたっぷりでした!

統計検定の思い出 @nozma

speakerdeck.com

美味しいウイスキーを飲みに行くついでに、統計検定準1級を受けてきたという話でした。 北海道の美味しそうな画像と、統計検定の難しい問題を同時に味わうことができる発表でした。 合格おめでとうございます🎉

Railsの上を好きに走る @ooooooo_q

これまでに見つけたRailsの脆弱性についての発表でした。 セキュリティのことを考えると、使わないほうがあるmethodって結構あるんですね! railsに限らず、しっかりアンテナを張っていこうと心が引き締まる思いになりました。

@sug1t0m0_agrict

speakerdeck.com

蛇足ですが、私の発表。Pythonのスクレイピング用ライブラリのScrapyとヘッドレスブラウザSplashを使ってSPAをスクレイピングするデモをしてみました。 シナリオテストの自動化とかしてみたいなと思ったり、、、

ReactのSSRをAWS Lambda上のExpressでServerlessFrameworkを使って簡単に(?)実装できた話 @kam1nchu

speakerdeck.com

サーバーレスでサーバサイドレンダリングする発表です。node.jsでサーバーを立ち上げる代替案としてLambda on Expressを使ったり,LambdaにServerlessFrameworkを使ってデプロイしたりと内容が濃い発表でした。

「JAWS-UG新潟県 第60回勉強会」登壇の裏側 @sakapun

実は翌日に「JAWS-UG新潟県 第60回勉強会」でAWSのサービスを全て説明するという発表を控えていた@sakapun さんですが、約200枚のスライドをどうやって作成したのかを裏話として教えてくれました。 発表当日もしっかりやりきっていました(笑)

HTML @circled9

speakerdeck.com 普段からHTMLを書いているのに、これまでどんな組織がHTMLの仕様に関わっていて、仕様変更がどんな感覚で行われていたのか全く知らなかったです。Web フロントエンドの1年目としてはしっかり「WHATWG Living Standard」を読んでおかなくてはいけないという気持ちになりました。

JaSST'19 Niigataにウォーターセルのエンジニアが登壇します

f:id:Nkzn:20190522145703p:plain

こんにちは、@Nkznです。

7月19日(金)に開催される「JaSST ソフトウェアテストシンポジウム 2019 新潟」に、ウォーターセルのエンジニアが登壇します。

www.jasst.jp

「実践コードレビュー」と第して、フロントエンドチームの松井が、弊社におけるコードレビューのノウハウをお話します。

弊社ではGitをバージョン管理システムとして採用しており、GitLabと組み合わせてソースコードを管理しています。また、Merge Request(GitHubでいうPull Request)を用いたコードレビュー体制を構築しています。

多くの分野にまたがったアグリテックを扱う弊社では、多くの事業が並列で動いており、社内を行き交うコードレビューも大量かつ多様を極めるものになっています。そんな混沌の中で、開発フローをどのように整えていくか、コードレビューをする/される側に立ったときに何を気をつけるのか、皆さんにお伝えできれば幸いです。

申し込みについて

JaSSTソフトウェアテストシンポジウム-JaSST'19 Niigata-参加お申込み

興味のある方は、上記のリンクからお申し込みください。

宣伝

ウォーターセル株式会社では、すべての人にスマート農業を届けるために一緒に働いてくれるエンジニアを募集しています。

water-cell.jp

JAWS-UG 新潟 #4 がウォーターセルオフィスで開催されます

f:id:Nkzn:20190522113512p:plain

こんにちは、@Nkznです。

新潟市で活動しているAWSのユーザーグループ「JAWS-UG 新潟」の第4回のイベントが、今週末、5月25日(土)に行われます。

jawsug-niigata.connpass.com

ウォーターセルもAWSのユーザー企業であり、JAWS-UG 新潟の運営にも弊社メンバーが参加しているというご縁もあって、今回はウォーターセルオフィスの1F会議スペースで開催されることになりました👏

Amazon EC2とAmazon Lightsailを使って、WordPressサイトを構築するハンズオン形式のイベントとなっています。この機会に、AWSの使いかたを学んでみるのはいかがでしょうか。

AWSに興味がある方は、connpassのイベントページからお申し込みください。

ウォーターセルのオフィスを見学してみたい方は、参加者の中に紛れ込んでいる弊社メンバーを捕まえれば、ちょっとだけご案内できます。

Android Bazaar & Conference 2019 Springにウォーターセルのエンジニアが登壇します

f:id:Nkzn:20190522115145p:plain:w480

こんにちは、モバイルチームの中川@Nkznです。弊社エンジニアの登壇情報です……というか、私が登壇します。

今週末、5月26日(日)に東海大学高輪キャンパスで開催される、Android Bazaar & Conference 2019 Spring(ABC 2019 Spring)で、講演することになりました。

abc.android-group.jp

内容は「JavaでAndroidを始めた人のためのJava -> Kotlinライブコーディング」です。

中川が昨年書いたたった1日で基本が身に付く! Androidアプリ開発超入門という本では、あえてJava7相当の文法を中心にサンプルコードを構築しました。

これはこれで好評だったのですが、「Kotlinだとどう書くのか知りたい」という声がそれなりに届いていたので、今回は試しに、本書のサンプルをKotlinに書き直してみます。

まだKotlinが怖い、Android初心者の方におすすめです。興味がある方は、当日、東海大学高輪キャンパスでお会いしましょう!

宣伝

ウォーターセル社では現在、積極的に採用活動を行っております。新潟への転職をお考えの方がいれば、ABCの会場でお気軽にご相談ください。

water-cell.jp

WaterCell Tech Night #3 を開催しました

こんにちは、フロントエンドチームの @sug1t0m0_agrict です。 試用期間が終わり、正式にwater-cellの一員になりました。宜しくお願い致します。

ということで、GW前に3回目の社内開催のテックトークイベントをざっくりまとめていきたいと思います。

いつもどおり、🍕と🍺と発表者を、みんなで囲み、和気あいあいと開催されました。なお、今回からは、個人が持ち寄ったドリンクの支払いにKyashのバーコード決済が導入され、飲みたい人が飲みたいだけ飲めるようになりました!

f:id:sug1t0m0_agrict:20190507105143j:plain

テックトークイベントの様子

発表ダイジェスト

単純パーセプトロンで遊んでみたかった @sug1t0m0_agrict

speakerdeck.com

私の発表です。機械学習を基礎から学ぶべく、初歩の初歩を。

JavaScriptビルド概論 @Nkzn

speakerdeck.com フロントエンド開発初心者の私にとって、とてもためになる内容でした。これまでのJSの歴史なんかはJS歴数ヶ月の自分にとっては新鮮でした。トランスパイル,ポリフィル,依存性解決それぞれがアプローチしている問題を再確認することができました。

Project Eulerの話 @nozma

speakerdeck.com

「Project Euler」の存在自体知らなかったのですが、「Project Euler」はなんと、日常生活で比較的使わない概念を学習できちゃうらしいんです!!! 実際、「テトレーション」の記号も、今後お目にかかることがない気がします。

prefers-color-schemaの話 @circled9

speakerdeck.com まだ採用しているブラウザはかなり少ない「prefers-color-schema」ですが今後一般的になっていくのでしょうか。もし採用されるとなるとwebデザインの考え方自体も変わってきそうなので、今後の動向に注意しないといけない気がしました。

gitlab移行の話 @kam1nchu

ウォーターセルでは社内のソースコード管理やコードレビューにGitLabを活用しています。これまでは社内の物理サーバーでの運用でした。

f:id:Nkzn:20190508110855j:plain:w480
画像はイメージです

それがこの春、@kam1nchuさんの頑張りにより、AWSへの移行が行われました🎊

その際に考えたことについての発表ですが、資料は社外非公開です。新しいクラウドサービスが次々と展開される昨今、サービスの選択はもちろんのこと、サービスにあったセキュリティ対策をするのは難しいと思います。私も簡単なサービスから触って、慣れていく必要を感じました。

まとめ

かなり期間が空いてしまいましたが、第3回も無事に開催されました。 第4回は5月中に開催する予定です!!

WaterCell Tech Night #2 を開催しました

こんにちは、ブラウザチームの松井 @circled9 です。

社内開催のテックトークイベントの第二回を開催したので、その様子をレポしたいと思います。

f:id:circled9:20181226093824j:plain

今回も🍕や🍺を嗜みつつ、和気藹々と発表を行いました。

ちなみにブログ初登場です、はじめまして。

来年の抱負を言ったつもりだったんですがめでたく今年達成してしまいました。

発表ダイジェスト

ここをこうしたら速くなった。最近の気付き (画像処理初心者向け?) @sug1t0m0_agrict

speakerdeck.com

画像処理でここをこうしたら処理速度が速くなったよ!という発表でした。

画像処理周りは二次元配列に対する演算になるので、桁が変わるレベルで速度が変わるんですよね...

普段画像処理のコードは書かないので、大変な世界だなぁと思いました。

今年のアウトプット50連発(NDSの練習) by @Nkzn

speakerdeck.com

今年のアウトプットを紹介するよ!という発表でした。

一年の週の数を考えると週一ペースでアウトプットした計算になるんですよね... 見習わねばと思いました。

Excelでゲームを作るときに役立つ関数5選 by @10mikiya

speakerdeck.com

Excelでゲームを作る時に役立つ関数を5つ紹介するよという発表だったのですが、1つ説明するたびに「え、ちょっとそれどうやったの?」「え?今の何?」と本題の関数以外にも学びが1つにつき5個ぐらい得られる発表でした。

Excelでゲームウォッチ風のゲームを動かすデモは正直驚きました。

R Markdownを設計に活用する by @nozma

f:id:Nkzn:20181219174343p:plain

github.com

R Markdownで設計書を書こうという発表でした。

おもむろにR Studioがブラウザ上で立ち上がった時はびっくりしました。

ルーターの選び方その2 by @kam1nchu

speakerdeck.com

前回に引き続き、ルーター選定に役立つ話、今回はルーター選定の時に出てくる用語の説明でした。

何となく名前は聞いたことがあるけど雰囲気しかわからん、という単語が結構あって勉強になりました。

Hello React hooks / Bundle Transpile Rock'n'Roll by @circled9

speakerdeck.com

speakerdeck.com

私の発表です。

Reactの次のバージョンで実装される予定のHooks APIの紹介と、NDSでも発表したJSのバンドルとトランスパイルについての発表でした。

まとめ

というわけで、第二回も無事開催されました。

年末の12月は会社の全体発表会があったり、年末でばたばたするので次回は1月を予定しています。

では次回もお楽しみに!