You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Webフロントエンド パフォーマンス改善ハンドブック このパフォーマンス改善ハンドブックでは、ウェブアプリケーションにおけるフロントエンドのパフォーマンス改善について扱っています。 ダウンロード版 埋め込み動画を再生できないなど一部制限がありますが、ダウンロード版を配布しています。 PDF版 EPUB版 MOBI版 目的 このハンドブックでは過去に行った改善の事例を中心に紹介しています。 そのため、現在の最適な解決方法を提案するものではありません。 また、アプリケーションによっても最適な解決方法は異なります。 今回の事例ではViewライブラリにReactを使い映像再生プレイヤーなどある程度複雑な機能を持ったウェブアプリケーションのフロントを扱います。 具体的にはニコニコ生放送(以下「生放送」)で行った事例を中心に書かれています。 開発と平行して行われていたため、React 15から16の間
localStorageとpostMessage postMessageを使うことで、サーバを経由しないで異なるドメイン間でのデータ受け渡しが可能だということを説明しました。またlocalStorageを使うことで「サーバには送られないがブラウザにのみ保持されるデータ」を気軽に作ることができるようになりました。 「他サービスのid」ならまだしも「どんなサービスを使っているのか」までも秘匿(ひとく)したいケースは実際にはまれでしょうから、そこまでストイックな、完全にクライアントサイドでのみデータを保持するサービスにこだわる必要もないでしょうが、方向性としては興味深いと思います。クライアントサイドでのみデータを保持するということは、ブラウザのキャッシュをクリアしたらデータが消えるということでもあります。そんな状況は好ましくないでしょうから、localStorageに本当に永続化が必要な情報を入
AirBnb がReactNativeをやめることが話題になってますね。 medium.com RNの未熟さ、社のRNのForkのメンテナンスコスト、JavaScriptのスケールのしなさ、JavaScriptCoreの実装の違い、クラッシュレポートが信頼できない、開発者は主に片方のプラットフォームしか知らないのでOSSのライブラリはバグってる、結局ブリッジを描く人間が必要、人が雇えない、山ほど出てくる…— Hello (@rejasupotaro) 2018年6月19日 以下私見です。 RN採用可否のフローチャート 自分がRN使いたいといって相談された際にはこういう感じで返してます。基本的にはExpo 採用可能か否かで判断してます。 Expo ではじめる ReactNative 開発環境 - Qiita プラットフォームごとにUXを突き詰める必要がある => RN やめとけ Q: 社内に
この記事を書くにあたり.. いわゆるカメラアプリをブラウザで実装するにあたり,canvas要素をpng形式に変換する処理が150msほどかかってしまっていて,その間にブラウザに映し出される映像がカクついてしまったという問題が発生しました. その問題を解決する中で,Web上で色々な記事を読んでいると,JavaScriptの非同期処理を並列処理と勘違いしている人が結構いたので,今回はそんな初心者から中級者になろうとしている人のための記事です. *JavaScript上級者の方は.何か間違っていることがあればコメントください. そもそも非同期処理とは プログラムが記述された通りに実行されるものを同期処理と言います. しかし,同期処理だと,1行のプログラムに時間がかかったら,全体が重くなってしまいます. (例えば,サーバーにリクエストしてそれが何秒もかかって,UIまでもがフリーズしたら,何だこのペ
JavaScriptにおける便利な関数の詰め合わせであるライブラリ「Lodash」。JavaScript(Node.js)での開発をしている人の多くは利用したことがあるでしょう。 今回はそのLodashを使う上で、ライブラリを導入後のファイルサイズを削減する方法を紹介します。 なお、今回当記事で紹介するにあたり、検証にモジュールバンドラーツール「webpack」を利用します。ですが、webpackを利用しない場合においても同様の方法でファイルサイズは削減できます。 ユースケースLodashに限らず、比較的高機能なJavaScriptライブラリは、場合によっては性能面や容量(ファイルサイズ)の面で、1機能特化のミニマルなものに比べ劣ることがあります。 例えば、そのライブラリの全ての機能のうち1つの機能しか使わなかったとしても、全ての機能分のファイルサイズを消費し、全ての機能を読み込んでしまい
package.json互換のJavaScriptパッケージマネージャー「Yarn」を知っていますか? なぜYarnなのか? npmと比べてどこがいいのか? 使うべきなのか? 解説します。 YarnはFacebook、Google、Exponent、Tildeによって開発された新しいJavaScriptパッケージマネージャーです。公式発表に記載されているように、Yarn開発者が直面したnpmの問題解決を目的としています。 インストールパッケージの速度および一貫性が不十分である npmではパッケージがインストール時にコードを実行することを許可しているため、セキュリティー上の問題がある しかし、それほど驚かないでください。npmを完全に置き換えるわけではありません。Yarnはnpmレジストリからモジュールを取得する単なる新しいCLIクライアントで、レジストリ自体はなにも変わりません。現在でも、
初めに React Fiberは、現在進行形で進められているReactのコアアルゴリズムの再実装であり、Reactチームの2年以上にわたる研究の成果です。 React Fiberは、アニメーション、レイアウト、ジェスチャーといった領域に対する適性を向上させることを目指しています。React Fiberの目玉となる インクリメンタルレンダリング は、レンダリング作業を分割して、複数のフレームに分散させることができる機能です。 他には主に、新たな更新があった際に作業を休止・強制終了・再利用できる機能、更新の種類別に優先順位をつけられる機能、新しい並行プリミティブなどが挙げられます。 このドキュメントについて Fiberは、コードを見ただけでは分かりにくい斬新な概念をいくつも導入します。このドキュメントはそもそも、ReactプロジェクトにおけるFiberの実装に伴って私が取っていたメモを集めたも
こんにちは。フロントエンドエンジニアのほりでーです。 今回はES6の新機能であるテンプレートリテラルとimport/exportステートメントについてご紹介いたします! テンプレートリテラルとは これまでJavaScriptで文字列をあつかう際には、リテラルとして「'(シングルクォート)」か「"(ダブルクォート)」を使っていました。ES6では、あらたに「 `(バッククォート)」によっても文字列をあつかえるように。この「`」で表現された文字列リテラルを、テンプレートリテラル(または、テンプレートストリングス)と呼びます。 テンプレートリテラルを使うと、通常の文字列リテラルとは異なり、下記のような恩恵を受けられます。 途中でもエスケープなしで改行文字を含められる ${…}記号を使って文字列の途中にJavaScriptを混ぜられる タグ付テンプレートリテラル、という使い方ができる 他の言語に登場
前から知ってはいたんだけど、昨日のYAPC:::Asia 2015 で Electron のトークで動かしてる所を見て、Electron に興味が出てきてしまった。Electron というのは JavaScript の SPA を作るイメージでクロスプラットフォームアプリケーションを作れるやつで、Kobito とか Slack とか Atom でも使われている。今までデスクトップアプリとかフロントエンドをガッツリやったことがなかったので苦労しながら触ってる。とりあえず Twitter クライアントを作ろうとしていて、今のところ認証に飛んで返ってきてタイムライン表示するところまではできた。 本当に欲しかったデスクトップ Twitter クライアント 今は Tweetbot for Mac を使っているんだけど、リストの切り替えが面倒とかいろいろ不満がある。自分は Twitter のリストや検
社内向けにモノは一応できてるけど、網羅的なエントリを書くほどでもないので、自分向けメモに permalink を与える試み。だいたいの概要が書いてあるので、あとはリンク先をたどってちょっと手を動かせば思い出せるんじゃないかな。 まとめすでに Google Apps を利用しているなら 24/7 で稼動する PaaS があるのと同義認証部分を Google Apps 側に丸投げできるので社内向け簡易アプリなどを用意するのに適している しかもスマホ対応済みしかも Google Apps のデータは作業者も履歴も全部残せる1言語は JavaScript のようなものなので、Web 系の人と親和性が高い管理画面をゼロから作る代わりに Spreadsheet を使うと他の業務と親和性が高いのでよさげ 例えば VBA で実現していたようなものを Apps Script に置き換えると引き継ぎしやすいア
ISO 8601のパースにも対応 また、ISO 8601*という日時の形式があるのですが、IE8やiOS4、Android2.2などはこの日時の形式のパースに対応していません。ISO 8601は2012-10-20T15:30:50+09:00のような形式です。この文字列をDateの引数に指定してパースしようとすると、対応していないブラウザではInvalid DateやNaNとなってしまいます。 // Android2.2などでInvalid Dateとなる var d = new Date('2012-10-20T15:30:50+09:00'); *注:ISO 8601 ISO 8601は日時の表記に関する国際規格。最新は2004年版ISO 8601:2004です。 この形式が採用されていることは少なくなく、APIのデータがこの形式で返す場合などは、一度Dateオブジェクトに渡す前に置
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く