3年のベータ期間を経た今、Boost Noteをリニューアルした理由と今後
Boost Noteのリニューアル版、本日リリースしました!合わせてOSSとして公開もしています。
2016年春頃にBoost Noteをオープンソースで公開してから、良いことも悪いこともいっぱいありました。
良いことは、Boost Noteを愛好してくれるユーザーさんが60万人を超えたこと。オープンソースプロジェクトとして、世界中の方々と共創できていること。
日々熱心に貢献をしていただいているコミュニティの皆様には感謝しかありません。本当にいつもありがとうございます!
この記事の最後に、旧Boostnoteへ貢献していただいた直近100人の方々を掲載させていただきました。
悪いことは、Boost Note公開直後、メンバーが全員離散し僕一人になったことです。
この時めちゃくちゃ辛かったんですが、コミュニティの皆さんにそれを正直に打ち明けたところ、名前も顔も知らない、会ったこともない世界中の方々が助けてくれ、おかげさまでBoost Noteを継続させることが出来ました。僕は一生、彼、彼女らへの恩を忘れることはないと思います。
そしてこの経験が、今のBoostIOの組織体に繋がっています。
現在BoostIO(Boost Noteを運営している会社)はほぼ全員が日本以外のメンバーによって構成されており、その中には会ったこともなければ直接話したこともないメンバーたちも多数在籍しています。最近はオランダの方にジョインしていただきました。
なぜそんなことが出来ているかというと、これまでBoost Noteの開発に関わってくれた方々に、チームに入っていただいているからです。(断言しますが、リクルーティング目的でオープンソースを運営しているわけではありません)
僕たちのコーポレートミッションは「クリエイターたちの指揮者となり、明日の当たり前を作ること」です。僕たちが提供するサービスを通して、未来の当たり前を作っていきたいなと思っています。
今後
もう少しでBoost Noteのモバイルアプリ(iOS/Andoird)出します!2019年内に出す予定でしたが間に合わずにすみません。。ちなみにBoost Noteのチーム版も作ってまして、それもよしななタイミングでリリースする予定です。興味がある方はそのうち招待させていただきますので、こちらからご応募ください〜!
また、2020年はいくつかプロダクトをリリースする予定です。 クリエイターの方々が、彼彼女らの才能を十分に発揮し、公正に評価されるプラットフォームを作るために全力で突き進んでいきます!
ノベルティキャンペーン
今回のリリースに合わせ、Boost Noteのノベルティがもらえるキャンペーンを実施しています。Boost Noteのことを記事に書いてSNSに投稿すると先着100名様にノベルティ(新旧ロゴのステッカー+ウェブキャムカメラ+何か手元にあるもの)を無料で贈呈します!
ぜひご応募ください〜!応募フォーム
CTOと一緒に今回のアップデートまでの道のりを話しましたので、ぜひこちらもお読みください〜。
これからもBoost Noteをよろしくお願いします!
貢献していただいた直近100人の方々
本当はひとりひとりに感謝を伝えたいですが、記事でのご紹介で失礼します。本当にありがとうございました&これからもよろしくお願いします!
- sota1235 https://github.com/sota1235
- daiyam https://github.com/daiyam
- ZeroX-DG https://github.com/ZeroX-DG
- roottool https://github.com/roottool
- yosmoc https://github.com/yosmoc
- AWolf81 https://github.com/AWolf81
- bimlas https://github.com/bimlas
- nathan-castlehow https://github.com/nathan-castlehow
- PaulRosset https://github.com/PaulRosset
- ytk141 https://github.com/ytk141
- Antogin https://github.com/Antogin
- nadr0 https://github.com/nadr0
- enyaxu https://github.com/enyaxu
- dredav https://github.com/dredav
- pfftdammitchris https://github.com/pfftdammitchris
- vienai8d https://github.com/vienai8d
- AgentEpsilon https://github.com/AgentEpsilon
- Simon-the-Sorcerer https://github.com/Simon-the-Sorcerer
- hooklife https://github.com/hooklife
- abnersajr https://github.com/abnersajr
- richardtks https://github.com/richardtks
- anasasilva https://github.com/anasasilva
- MSSandroid https://github.com/MSSandroid
- mrseanbaines https://github.com/mrseanbaines
- arcturus140 https://github.com/arcturus140
- LeoLamCY https://github.com/LeoLamCY
- nagledb https://github.com/nagledb
- max-buranbaev https://github.com/max-buranbaev
- mirsch https://github.com/mirsch
- lazytyper https://github.com/lazytyper
- bkjohnson https://github.com/bkjohnson
- xxdavid https://github.com/xxdavid
- mikeres0 https://github.com/mikeres0
- lurong-hkg https://github.com/lurong-hkg
- ivanovserge https://github.com/ivanovserge
- andyklimczak https://github.com/andyklimczak
- KuangLei https://github.com/KuangLei
- Djdany95 https://github.com/Djdany95
- twhiting https://github.com/twhiting
- redcom https://github.com/redcom
- kg86 https://github.com/kg86
- hooskers https://github.com/hooskers
- empeje https://github.com/empeje
- XGHeaven https://github.com/XGHeaven
- SCdF https://github.com/SCdF
- Gansgar https://github.com/Gansgar
- robbawebba https://github.com/robbawebba
- ibraude https://github.com/ibraude
- Olcod https://github.com/Olcod
- asmsuechan https://github.com/asmsuechan
- sosukesuzuki https://github.com/sosukesuzuki
- ehhc https://github.com/ehhc
- yougotwill https://github.com/yougotwill
- mslourens https://github.com/mslourens
- rayou https://github.com/rayou
- nlopin https://github.com/nlopin
- amedora https://github.com/amedora
- MiloTodt https://github.com/MiloTodt
- voidsatisfaction https://github.com/voidsatisfaction
- hikerpig https://github.com/hikerpig
- kohei-takata https://github.com/kohei-takata
- duartefrazao https://github.com/duartefrazao
- dojineko https://github.com/dojineko
- PrimaMateria https://github.com/PrimaMateria
- Redsandro https://github.com/Redsandro
- miguelalexbt https://github.com/miguelalexbt
- kawmra https://github.com/kawmra
- clone1612 https://github.com/clone1612
- GuilhermeJSilva https://github.com/GuilhermeJSilva
- elfman https://github.com/elfman
- sferra https://github.com/sferra
- romainwn https://github.com/romainwn
- kostaldavid8 https://github.com/kostaldavid8
- Paalon https://github.com/Paalon
- yamash723 https://github.com/yamash723
- mikaoelitiana https://github.com/mikaoelitiana
- zhouxiaoxiaoxujian https://github.com/zhouxiaoxiaoxujian
- minbaby https://github.com/minbaby
- jarvisuser90 https://github.com/jarvisuser90
- Rxbsxn https://github.com/Rxbsxn
- shmolf https://github.com/shmolf
- maykefreitas https://github.com/maykefreitas
- jacobherrington https://github.com/jacobherrington
- hsiehjack https://github.com/hsiehjack
- SalvatoreTosti https://github.com/SalvatoreTosti
- KazumiHARADA https://github.com/KazumiHARADA
- zzdjk6 https://github.com/zzdjk6
- saaguero https://github.com/saaguero
- lvarado https://github.com/lvarado
- kazuhisya https://github.com/kazuhisya
- gediminaspetrikas https://github.com/gediminaspetrikas
- dtom90 https://github.com/dtom90
- StormBurpee https://github.com/StormBurpee
- MrBMT https://github.com/MrBMT
- Danmou https://github.com/Danmou
- jhdcruz https://github.com/jhdcruz
- alwxkxk https://github.com/alwxkxk
Boost Noteのリニューアル版(β)をリリースしました!
主なトピック
- 名前が"Boostnote"から"Boost Note"に変わりました!
- ブラウザアプリをリリースしました
- デスクトップアプリ(Windows, Linux and macOS)のリニューアル版(β)をリリースしました
- モバイルアプリ(iOS and Android)は年末頃にリリース予定です
- クラウド同期で全てのデバイスで同期可能です
- クラウドファンディングやってます
- Boost Noteのグッズをもらいましょう!
- チーム版を来年春にリリースします
なぜ今リニューアルしたのか?
こんにちは!Boost Note開発チームです。
本日、開発者のためのノートアプリ・Boost Noteのリニューアル版のβ版の配布を開始しました! Boost Noteはリリース以来60万人を超える開発者の方々にご利用いただき、またオープンソースコミュニティの皆様の力を借りながら成長してきました。
GitHub issueやTwitterをはじめ、とても多くのフィードバックをいただきながら、僕達の頭の中には常に迷いがありました。それは「会社のリソースをどのくらいBoost Noteに充てるべきか」という問いです。
当社はオープンソース開発者支援サービスであるIssueHuntなども運営しており、Boost Noteのアップデートは、コミュニティの皆様に任せっきりになっていました。そういう状況下でもアップデートを続けてこれたのは、これまで熱心にContributionや機能リクエストを送っていただいたコミュニティの皆様ひとりひとりのおかげです。本当にいつもありがとうございます!
これまで散々迷っていましたが、やはりユーザーさんが喜ぶサービスを届けたい気持ちが強くなり、(また、僕達開発チーム自身が毎日Boost Note使っており、個人的にも欲しかったことからから)Boost Noteのリニューアルプロジェクトを開始することを決断しました。
今日β版のリリースまでこぎつけ、ユーザーの皆様に便利なBoost Noteを届けることができることを本当に嬉しく思いますし、これからもどんどん改善を進めていきます。
リニューアル版もオープンソースとして公開していますので、引き続き皆様の貢献、よろしくお願いします!
・GitHub repository -> https://github.com/BoostIO/BoostNote.next
正式版の公開は来年の一月半ばくらいを予定しています。
また、アップデートに伴い、サービス名も"Boostnote"から"Boost Note"に変更しています。
これは、Boostシリーズのプロダクトリリースを今後見越した名前変更になります。Boost Noteのチーム版(名前はBoost Wikiにする予定)の他にも、今後も開発者の方々のアシスタントになるようなプロダクトを続々とリリース予定ですので、そちらもお楽しみに!
主な機能一覧
- クラウド機能(CouchDBを利用していますので、オフラインでも利用可能です。またクラウド機能の利用は必須ではなく、引き続きローカルストレージの利用も可能です)
- 複数ディレクトリ階層構造(子フォルダを無限に作ることが可能です)
- マルチデバイス化(ウェブ・デスクトップアプリ・モバイルアプリ)
- 今回のリリースに関して、技術的な仕様はこちらのGitHub issueにまとまっています。
今後の主なリリース一覧
- プラグインストア(一般的ではない機能をプラグイン化し、誰でも自作のプラグインを掲載したり利用したりすることが可能になります。)
- チーム機能(Boost Noteを、複数人で利用可能な機能です。これはBoost Wikiという別サービスでリリースします。事前応募はこちらから https://boostnote.io/wiki/ )
既存アプリからのデータ移行方法
まず、これまでご利用いただいたユーザーの皆様、本当にありがとうございます!そしてお待たせしました。
もっとも要望が多かったクラウド機能・モバイルアプリを皆様にお届けできることがとても嬉しいです!
今回のリニューアル版のリリースに際し、旧アプリから新アプリへ、手動でデータ移転をしていただく必要があります(すぐ終わります!)。
大変お手数をおかけしますが、下記の手順でお願いいたします。
- お使いのPCから、旧Boostnoteのデータが入っているフォルダを開く
- .csonファイルを選択
- Boost NoteアプリのPreferences -> Importを開き、ドラッグ&ドロップで新Boost Noteへアップロード(完了!)
告知
- クラウドファンディングやってます Kickstarterを活用させていただき、クラウドファンディングを今月末まで実施しています。
当CF限定のグッズがゲットできるチャンスですので、是非チェックしてみてください!
- チーム版を来年春にリリースします “Sonar for your information”をキーワードに、Boost Noteのチーム版の開発に着手しています。
事前応募は開始しており、事前応募いただいた方々に対して段階的に配布を始める予定ですので、興味ある方はこちらより申請をお願いします!
それでは、新しくなったBoost Noteをこれからもよろしくお願いします!
IssueHunt Fest 2018ハイライト
IssueHunt Festとは?
IssueHunt Festはオープンソースプロジェクトへのスポンサードイベントです。
開催のアナウンスをIHF開始時に書いているのですが、毎年4・12月にそれぞれ一ヶ月間をかけて実施する恒例イベントで、スポンサーを募りOSSに対して寄付貢献をおこなっていくオンラインイベントです。 次回は2019年の4月に開催を予定しています。
IssueHunt Fest 2018振り返り
IssueHunt Festは「オープンソース環境を持続可能にする」ミッションのもと企画をはじめました。
初開催の今回、121ヶ国の開発者の方々が参加してくれ、JekyllやAVAといった著名なプロジェクトも数多く参加してくれました。
また、IssueHuntを通して多くの貢献が新たに生まれ、日頃世の中の為にOSS開発を進めている素晴らしい開発者の方々にRewardを渡すことができたことをとても嬉しく思います。
スポンサー企業の紹介
第一回開催の今回、IssueHuntの想いに共感頂いた素晴らしい企業様よりスポンサードを頂きました。改めまして本当にありがとうございました!
・Gold:Microsoft様
・Silver:LINE様、Framgia様
・Bronze:Mercari様、Cryptoeconomics Lab様
・グッズ:Unity様、JetBrains様
また、IssueHunt Festの特典として、TOP10ユーザーにグッズやTシャツを、IssueHuntFest期間中に3つ以上Pull requestを出したユーザーにステッカーを、来年一月半ばから順次送付していきます。
該当の方は楽しみにお待ちください!
他のOSS支援サービスの紹介
OSSを支援するサービスは、IssueHunt以外にも存在します。OSSを使うだけではなく、支援する文化を根付かせたい、根付かせなければならないと強く思っています。
是非下記のサービスの活用も合わせて検討頂けましたら幸いです。
オープンソースプロジェクトに対して月々寄付を行うことが出来るサービス。寄付の引受先はもちろんOpenCollective運営チームの資金繰りも全てオープンにしており、資金の流れが透明性によって担保されていることが特徴。
広義のクリエイター向け資金調達サービス。サービス名の通り、クリエイターのパトロンになることが出来る。OSSプロジェクトそのものというよりは、OSSを作っている開発者(個人)を支援するサービス。
企業のスポンサードプログラムの紹介
来年より企業からのマンスリースポンサードプログラムを開始します。企業からOSSに対するスポンサードをIssueHunt運営が募り、それらの資金をIssueHuntに掲載されているOSSへ分配していきます。
詳細は来月頃にアナウンスする予定ですが、既に世界を代表する企業数社よりスポンサードが、またOSS支援機関とのアライアンスが進んでおり、日本から世界のオープンソースへ貢献出来ることが、運営チーム一同とても楽しみであり、嬉しく思っています。
日本から世界へ「オープンソースを支援することが当たり前」である文化を広げていきたいと思っていますので、共感頂ける方がいらっしゃいましたら、こちらからご応募頂けますと幸いです。
引き続きIssueHuntを通して、オープンソースの持続可能性を追求していきます。それでは良いお年を🎍
オープンソースの持続可能性、IssueHuntの挑戦
オープンソースを取り巻く環境
「オープンソースでは食えない」
数十年前から蔓延している業界の通説です。
今、世界中の大半のIT企業が、オープンソースを活用して開発を行っていると言っても過言ではなく、日頃私たちが何となしに使っているそのOSSは、その多くが無償のボランティアで作られています。
その裏側には、誰かのクリエイティビティであったり、誰かの労働力が発生しています。機械が自動生成しているわけではありません。
世の中への貢献は正当に評価される権利がある、評価される仕組みが無いのなら、それを作って一般化させよう。その一心でIssueHuntを毎日コツコツ作っています。
Boostnoteがくれた、IssueHuntに挑戦するきっかけ
オープンソースプロジェクトであるBoostnoteを、僕ら自身が2年に渡り運営し、多くのOSS開発者たちと対話を行う過程で、持続性に欠けるオープンソースエコシステムへの課題意識を、身を持って実感してきました。
Boostnoteは、今となってはほぼ全世界にユーザーがいますが、ここに至る90%以上は開発者コミュニティからの貢献のおかげであり、今やコアチームが開発に関わることはほとんど無くコミュニティが主体となり運営が行われています。
IssueHuntは当初、そんな素晴らしいBoostnoteの貢献者の為に作られた報酬プログラムでした。
BoostnoteコミュニティへBounty Programを公開してみると、僕たちの予想を超え、たった一週間でレビューが追いつかなくなるほど膨大なPull Requestが届きました。
これは、今のOSS環境が抱える課題を解決できるのではないかーー、その一心でIssueHuntの公開に至ったのが、2018年の7月のことです。
その後、今年の7月頃に一般向けに公開したのですが、著名ライブラリのMaterial UIやアリババ製のAntDesign等が続々と参加してくれ、少しずつムーブメントを作り出せている感覚があります。
IssueHunt Fest 2018に寄せて
12月の一ヶ月間をかけて、オープンソースの寄付啓蒙を目的とし、IssueHunt Fest 2018を実施しています。
今日において、世界のオープンソース市場における日本の影響力が大きいかと問われれば、YESで無いことは確かですが、IssueHunt Festをきっかけに日本から大きなムーブメントを作り出し、作る人・使う人・支える人の関係が歪なオープンソースエコシステム全体に、国を超えて議論を巻き起こしたいなと思っています。
当イベントは毎年4月と12月に恒例イベント化させる予定なのですが、今回はMicrosoft様はじめ、素晴らしい企業様よりスポンサードを頂く事が出来ました。
頂いたスポンサー資金は全て、世界中のオープンソースプロジェクトへ注ぎ込みます。
IssueHunt Festだけではなく、Monthlyでオープンソース支援の実施もIssueHuntを通して行うことが出来ますので、興味があられる企業さんがいらっしゃいましたらこちらから申請をお願い致します!
数社、誰でも名前を知っているIT企業さんより既にスポンサードが決まっており、San Francisco同様「オープンソースを支援しないIT企業はダサい」文化に必然的になっていくと思いますので、是非ご検討頂けましたら幸いです。
なお、IssueHunt以外にもオープンソース支援サービスはいくつかあります。僕たちはオープンソースを支援する文化を作りたいのであり、決してIssueHuntを押し売りしたいわけではありません。
特にオススメなサービスを下記に記載しておきますので、合わせて利用を是非ご検討ください。
オープンソースプロジェクトに対して月々寄付を行うことが出来るサービス。寄付の引受先はもちろんOpenCollective運営チームの資金繰りも全てオープンにしており、資金の流れが透明性によって担保されていることが特徴。ニューヨークにいた時に創業者のXavierと朝ごはん食べましたが、めちゃくちゃ良い人でした。
広義のクリエイター向け資金調達サービス。サービス名の通り、クリエイターのパトロンになることが出来る。OSSプロジェクトそのものというよりは、OSSを作っている開発者(個人)を支援するサービス。
また、来年の4月には大規模なオープンソースカンファレンスの実施を予定しており、企画が進行しています。
ありきたりなカンファレンスではなく、ロックバンドのライブのように仕上げる予定です。詳細は追ってアナウンスしますので、是非楽しみにお待ちいただけたらと思います。
「オープンソースでは食えない」
果たしてそれで良いのでしょうか?
このスクリーン上の文字が網膜に届くまでのコンマ一秒の為に、膨大なオープンソース技術の開発が行われています。
私達自身が直接的・間接的にオープンソースの恩恵を受けている身として、IssueHunt Festが議論を生むきっかけになれば、チーム一同嬉しく思います。
IssueHunt Fest 2018について
毎年4月と12月の一ヶ月ずつをかけて実施する、オープンソースへの寄付啓蒙イベントです。IssueHuntがスポンサーを募り、頂いたスポンサー資金を使い、IssueHuntに掲載されているオープンソースプロジェクトへの支援を行います。
今回の初開催にあたり、Microsoft様・LINE様・Framgia様・Mercari様・Cryptoeconomics Lab様よりスポンサードを、Unity様・JetBrains様・匿名希望スポンサー様よりグッズスポンサードを頂いております。関係者の皆様に、この場をお借りして改めて感謝申し上げます。本当にありがとうございました!
また、プロジェクトオーナーだけではなく、参加者特典としてIssueHunt経由で3つ以上Pull Requestを出した参加者の方にはステッカー等のグッズを、貢献度ランキング上位10人には、オリジナルティーシャツを差し上げます!
日本からオープンソースの貢献を爆発的に増やし、世界の開発者コミュニティをあっと言わせてやりたいなと強く思っています。
*合わせて読みたい hackernoon.com
自分だけの仮想通貨発行・ハンズオンを開催しました by Ineeza.inc & BoostIO
この記事では、5/12(土)に行われた独自トークン発行ハンズオンの様子を紹介します。
講師
講師として、株式会社Ineeza.inc CEO / Blockchain Engineerの竹本 哲郎さんに登壇していただきました。
講義 & ハンズオン
講義内容の概要
- ブロックチェーンの特徴
- イーサリアム開発ツールについて
- カスタム通貨作成方法
- Supplyの初期化
- Truffle
- コンパイル & デプロイ
竹本さんによる講義の後、実際に手を動かし、参加者によるハンズオンを行いました。
流れとしては、竹本さんのスライドで次に行うことを確認しながら作業を行い、 実際にわからない部分を参加者が質問して一人一人竹本さんが教えに来てくれるという形でイベントを進行しました。
プログラミング初心者の著者の結果
プログラミングに詳しくない初心者の著者でも、無事にCoinのトークンを発行することができ、最後は、アプリTrustWalletに、TESTESTCoinを送金できました!
誰でも作れるよう竹本さんがアドバイスをくれるので安心です。
ハンズオンを終えての感想
初めてハンズオンのイベントを開催しましたが、LTだけのイベントに比べて、参加者同士の話し合いや、登壇者との会話が圧倒的に多く、参加者同士の交流が円滑に行なわれていたと感じました。
途中わからなくなっても講師の竹本さんや、周りの方が助けてくれるので初心者の方も気軽に参加できると思います。
毎月技術系の企業さんと連携し、ミートアップを行っています。
今回イベントに参加できなかった方も、是非参加してみてくださいね!
React x Typescript ミートアップ by Boostnoteを開催しました!
4月14日(土)に、React x Typescriptのミートアップを実施しました!
当記事ではミートアップイベントの様子を紹介します。
イベント概要
このミートアップはReact x Typescriptのスキルアップのための会であり、
実際にReact x Typescriptを使用している方によるLTを実施しました。
現場のエンジニアの話を聞くことで、高度な技術を知ったり、
効率的な方法を知ることができるイベントでした!
LT1 "ReduxからMobXへ移行した理由" - Choi Junyoung
Boostnoteを開発している、弊社CTO Choi JunyoungによるLTを行いました。
ReduxからMobXに移行した話をしてもらいました。
www.slideshare.net
LT概要
・2年以上の実務でReduxを使って経験した苦痛に対し、MobXではそれぞれの問題がどれほど簡単に解決できるのか
・Memorization
・Multiple mutations
・Deep state and immutable
・ まとめ: 指先の辛さと割と大きいラーニングコスト
Twitterアカウント: @Rokt33r
LT2 " React + Redux で開発がしたかった" - 成 英柱さん
参加枠より、成 英柱さんに「React + Redux で開発がしたかった」のLTを行っていただきました。
登壇していただいた際のスライド内容を以下のリンクから確認できます。
LT概要
・なぜ React なのか
・内部ステート vs 外部ステート
・React の罠
・ ビュー or ドメイン
・理想のディレクトリ構造
・ステートの正規化
・アクションが Reduce されたときに別のアクションを Dispatch したい
・型チェック
・React + Redux で型をどう使う?
・まとめ
Twitterアカウント:@sei40kr
LT3 "Reactで動画プレーヤーを作った話" - yugoさん
参加枠より、yugoさんに「Reactで動画プレーヤーを作った話」のLTを行っていただきました。
登壇していただいた際のスライド内容を以下のリンクから確認できます。
www.slideshare.net
・動画プレーヤーの仕様
・ライブラリの選定
・大いなる勘違い
・状態管理について
Twitterアカウント:@ymmmo1
各、LTの後には参加者からLTへの質疑応答の時間もあり、現場のエンジニアに質問ができるという貴重な体験になったと思います。
懇親会
LTが終わった後は、ビールを飲みながら懇親会を行いました。
乗り物 ~ 観光メディアまで多様な仕事を行っているエンジニアの方々との会話ができ、
とてもためになる話を聞くことができました。
遠くからは函館からいらっしゃった方もいて、イベントを通してしか出会えない方にも会うことができるのがイベントの良いところだと実感しました。
まとめ
イベントを通して色々な方と交流できるのは本当に良い体験です。
新たな知識や方法を知ることはもちろん、他の方の話を聞くことで自分自身のこともより理解できます。
イベント自体は、開催からビール片手にゆるっと行っている会なので、今後また開催した時は是非皆様お気軽にお越しくださいませ!
また、お越し頂いた方には、BoostnoteとBoostlogステッカーをプレゼントしています。
イベントページ
conpassにてイベントを随時開催しているのでよろしければフォローをお願いします。
SNS
SNS上でも発信しております。
よろしければこちらもフォローやLikeをお願いします。
Twitter twitter.com
Facebook group
以上、4/14(土) に行われた「React x Typescript ミートアップ」の様子でした。
イベント会場は主にスローガン株式会社 イベントスペースにて行っております。
次のイベントではあなたのご参加をお待ちしております。
どんなチームがReact Nativeによる開発に向いているか
はじめに
最近はアプリ開発にReact Native(以下RN)を使用するケースも増えてきているようですが、RNはネイティブアプリを開発する最強のライブラリというわけではありません。
メリットをうまく利用すればとても良いアプリができると思いますが、失敗すると、さらに倍の時間をかけてSwift、Javaで作りなおし、、、といったことも発生するかもしれません。
特徴や他社事例をよく調査し、チームの状況に応じて、採用するかどうか判断することがとても大事です。 この記事では、どういった状況に置かれたチームが、RNで開発するのに適しているか、僕なりの考えを書きますので、参考にしていただければと思います。
RNがどういったものであるかの説明や、実装方法については書きません。
目次
- はじめに
- 目次
- 1. なるべく早くリリースしたいチーム
- 2. iOS/Androidで仕様・見た目を揃えたいチーム
- 3. WEBのエンジニアは足りているけど、ネイティブのエンジニアが十分にはいないチーム
- 4. アプリのデザイン経験が無いデザイナが多いチーム
- 5. アプリの改善サイクルをなるべく早く回したいチーム
- 6. WEBとアプリの見た目を合わせたいチーム
- 7. 最初から最速・最高を求めないチーム
- まとめ
1. なるべく早くリリースしたいチーム
RNはiOS/Androidのソースを一括で記述/管理することが可能です。
また、ホットリロードが可能なので、修正後のビルドの時間も短くてすみます。
そのため、なるべく早くiOS/Androidアプリを開発したいというチームには適しているかと思います。 また、記述するのは主にJSなので、エディタやIDEも好みのものを使えます。
そのため、開発がより進むこともあるかもしれません。
2. iOS/Androidで仕様・見た目を揃えたいチーム
iOS、Androidを別の人が実装すると、仕様や認識のズレが発生したり、OS固有の理由により、出来る出来ないが発生したりするというのが、アプリ開発におけるあるあるかと思います。 RNで1ソースで管理すれば、そういったことも少なくなるでしょう。
また、もちろん、OSによって適したデザインがあると思いますが、それでも見た目を揃えたい箇所がある場合、実装が1箇所になるので目的は果たされるかと思います。
ただ、1箇所にまとめたコードの中で、あえてiOS/Androidそれぞれで処理を分岐させる箇所が多くなってくると、「一括でソースを管理しているのはなんでだっけ?」となるくらい、分岐が多く、読みづらいコードになる可能性もあります。
そういった場合には、*.ios.js
、 *.android.js
などとファイルごと分けてしまうなど、設計を考える必要があるかと思います。
3. WEBのエンジニアは足りているけど、ネイティブのエンジニアが十分にはいないチーム
アプリの需要は依然として高く、ネイティブのエンジニアは売り手市場です。
基本的にどのチームもネイティブのエンジニアは足りていないと思います。
ただ、アプリ以外のエンジニアにも目を向けてみると、WEBのエンジニアであればJSを書いたことが無い人はあまりいないかと思うので、どうしても手が足りない場合には、少し(?)Reactを勉強してもらって、開発に携わってもらうこともできるかと思います。 ただ、リリースの際にXcodeを使うなど、iOS、Androidの知識は少なからず必要なので、ネイティブのエンジニアが全くいない状態でJSだけで書けるからとRNを採用するのはおすすめしません。 (その状態ではSwift、Android Javaでもアプリが作れるかというとわかりませんが。。。)
まとめると、ネイティブの知識はゼロでは無く、少しは必要。ただ、WEBのエンジニアに手伝ってもらえる可能性もある、ということです。
4. アプリのデザイン経験が無いデザイナが多いチーム
RNの見た目の部分はcssライクに書くことができます。 また、見た目もネイティブよりかは自由度があります。 なので、アプリの経験がなくても、開発時には対応できるかと思います。
ただ、やはりアプリらしいデザインや、それぞれのOSに適したデザインがあるので、それは常に勉強して、改善していくのがいいかと思います。
5. アプリの改善サイクルをなるべく早く回したいチーム
RNを利用する大きなメリットとして、CodePushが利用可能であることがあげられます。
そのため、デリバリーの高速化が可能です。 ネイティブのデメリットとして、特にiOSですが、実装してもリリースまで時間がかかる、リリースしてもユーザーがアップデートしないと使ってもらえない/バグが直らない、というのがあります。
CodePushを使えば、実装したものをすぐに届けられるので、細かなバグ修正や、見た目の修正、ABテストもやりやすくなるのかなと思います。
6. WEBとアプリの見た目を合わせたいチーム
React Native for Webというものがあります。
最初は名前に少し違和感があるかと思いますが、スマホのブラウザから見た場合のWEBのHTMLをRNのようにコンポーネントでラップして開発できると考えるといいかもしれません。
こういったものを利用すれば、WEBとアプリの見た目を揃えたり、コンポーネントを共通化させて開発速度を上げることができるかもしれません。
少し難易度は高そうですが、細部から少しずつ挑戦してみるといいと思います。
7. 最初から最速・最高を求めないチーム
RNは一度JSを経由するため、ネイティブ実装に速度でまさることは出来ません。
また、ネイティブをちゃんと実装できるエンジニアがいて、時間も十分ある場合、(codepushを除いては)RNを利用するメリットはありません。 アプリ開発において、それに越したことはないです。 ただ、最初のリリースは品質は2の次でとにかく早く出したい、ユーザーの意見を聞いて早く改善していきたい、という場合には適しています。
それでサービスがスケールしたら、ネイティブのエンジニアを採用して、ネイティブで書き直すのがいいと思います。
まとめ
上にも書いたように、RNはアプリ開発における最適解ではありません。
ただ、適した場所で使用すればとてもメリットがあると思います。 上に書いたような環境に置かれた時に、開発の選択肢を増やす意味でも、RNを勉強しておくのがよいと思います。