16:112020-01-27■anond:20200127112356それもあって情報はPULL(探して見に行く)だったのが最近はPUSHになりつつあるからな。やって、見せびらかすか?という時代になってきている。15:162019-12-29■モバイルアプリのハイブリッド実装で後悔したもろもろモバイルアプリの実装と言えば主力はKotlin、Swift(Objective-C)だけど、簡単な作りであればcordovaをベースにフロントエンド開発ライクに進められる。そもそものライブラリ選定には関わっていなかったものの、便利と思って使った結果後悔した思い出のお話。WebViewベースである以上、イベント、レンダリング系統はネイティブに劣る特にiOSが顕著だった。結果的にネイティブ実装したほうが楽だしレンダリングの面で有利。そもそもcordovaだからと言ってネイティブの知識がいらないわけじゃない。標準サポートしているプラグイン群でできることは限られてくるし、そのまま突き進むならネイティブ実装の知識は必要になる。フロントエンド開発できない奴が作れる代物ではないこれは当たり前だけど...JSのパッケージングだったりCSSビルドが組めないとなると逆にコスト高。Angularベースで進めていたときにそれは起こった。そもそもNode.jsのビルドを根本的に理解してない奴がプロジェクトを作ったせいでJSのパッケージビルドもされない、jQueryを突っ込まれるなどひと悶着あった。3年前くらいだったけど既にTypeScriptも出てたし、何故そうしなかったのか理解できない。結果ロードが激重になった。そりゃそうだ、minifiedされてないのだから。用法用量を正しく守って使わないと、後で面倒になる好例だった。大概は専用プラットフォーム上でビルドしていくがこれがくせ者。ブラウザIDE(という名のただのテキストエディタ)が使えるけどそもそも構成管理できない。ローカルビルドと乖離するし、ブランチすら切れないのだから本人以外は触れないシロモノになってくる。ビルドのためにアップロードするんだがこれまた賢くない。別端末でビルドしようとすると同名の新しいプロジェクトが作成される。ここまでくるともう触りたくなくなる。触らないわけにはいかないので何とか整合が取れる状況にした。言えば、ビルドが終わってステータスが見れるが、内訳が見れるのはそのタイミングだけ。これはマジで止めてほしい。殺意が湧くレベルでやめてほしい。海外で公開したプラットフォームをそのまま持ってきてるんだと推測しているが流石にこれは悪意しか感じない。やろうと思えばそりゃローカルビルドはできるけれども。クライアントOSで動くビルドツールが使い物にならないただのCLIをバックグラウンドで実行するだけのGUIラッパーと化している。いってlintを掛けてくれるわけでも無し。個人的に要らないし今後は使わない。RTCを使うとiOSの互換に苦しむ突き当たったのはWebSocketを使うシーンが出てきたとき。ライブラリで何とかする方向で進めたかったけどそもそもwebpackビルドにすら対応していなかった。件のAngularベースの場合はもっとひどくてクソラッパーを作りやがったせいで依存度が激高になった。ちなみにネイティブはそれぞれにサポートするライブラリが出ていて、最新バージョンに向けてきちんとメンテナンスされている。その辺はJSの世界の闇に降れた瞬間でもあったりした。根本的にiOS側の実装でレスポンシブ的なレイアウトが作りにくい現状を鑑みて、WEBベースで新商品などの通知をしたい、残りは情報の閲覧のみでSPA構成的なシロモノで作りたい。こんな需要には使ってもいいんじゃないかと思う。相当なレアケースだけれども。いいところは確かにあって、CSSでデザインの調整が効くところは大いに評価できる。これがまたネイティブ実装だと面倒。