Googleが新たに提唱するProgressive Web Appsの新たな開発パターン「PRPL」とは? 小松 健作(NTTコミュニケーションズ) 「Google I/O 2016」では、これからのWebアプリ開発パターンとして提唱しているPWApps(Progressive Web Apps)について多くのプレゼンテーションがなされました。 PWAppsとは、最新のWeb技術を有効に活用し、漸進的(Progressive)に高度なユーザー体験を提供しようとする概念です。このPWAppsの概念を具体化する一つの手法として、「PRPL」(パープル)と名付けられた開発・提供パターンが提案されました。本稿ではこのPRPLを解説するとともに、その有効性や課題点を考察します。 本稿は、Google I/O 2016の二つのセッションに関する、解説記事です。 Polymer and Progress
はじめに 最近、フロントエンドのライブラリ乱立問題について盛り上がってました。 自分はnobkzさんの以下の文に全てがまとまっていると思います。 僕の最初の違和感は、「技術的な流行り」に乗ることに何の価値があるのだろうか?ということである。もちろん、最新のツールやフレームワークはより何かが良くなってるかもしれない。しかし、 それをあなたのプロジェクトで採用するには何の価値があるだろうか? 「最近のフロントエンドへの違和感 - nobkzのブログ」より 裏を返せば、新しいライブラリの内容、特に「どのような問題を解決するためにこのライブラリが生まれたのか」という思想を把握しておくことは重要だと言えます。 つまりは、 "How?(ライブラリの使い方)" よりも "Why?(なぜそのライブラリが必要なのか)" を学んでおこう ということです。この記事では どのような既存の問題・要求を どう解決して
Today marks the 10th anniversary of the release of jQuery. I announced it back at BarCamp NYC 2006 when I was still in college. It’s incredible to think of how far it’s come and just how many people have contributed to its success. To them I am forever grateful, thank you. Last year I wrote up an annotated version of the original jQuery release in which I dumped many of my thoughts regarding the w
この記事は、knockout.js Advent Calendar 2015の8日目の記事です。 先に7日目に目を通すことを推奨しています。 knockout , knockout-es5 , knockout.punches環境を想定しています。 knockoutにも、scope(context)の概念があります。 scopeが切り替わるタイミングは、foreachbindなどのイテレータでの子scopeや、withbindでの明示的なscope切換えを行った場合です。 例えば、このサンプルを見てみましょう。 Country(国)とState(州/県)とCity(市・区)はそれぞれ親子関係にあります。 <div data-bind="foreach:countries"> <div class="country"> <span>{{name}}</span> {{#foreach: st
この記事は、knockout.js Advent Calendar 2015の9日目の記事です。 先に8日目に目を通すことを推奨しています。 knockout , knockout-es5 , knockout.punches環境を想定しています。 あらゆるMV*ライブラリ/フレームワークにして共通して言える事なのですが、 指定したHTMLの要素(element)が一体どのscopeに属しているのかを正確に把握することが大切です。 Webブラウザで、F12を押すことで、一般的には開発者用のツール(Developer Tools、インスペクタ)が起動します。 ここではChromeの場合で説明します。 DeveloperToolsを開いている状態で、 scopeを調べたい対象の要素を右クリックし、要素を検証(N)を選択します。 その後、DeveloperToolsのConsoleに、 ko.d
この記事は Vim Advent Calendar 2015 の20日目の記事です. まずはこちらのスクリーンショットをご覧ください. エディタの UI やカーソル移動は Vim っぽいですが,markdown ライブプレビューやカーソル位置での画像ポップアップ,組み込みブラウザなど謎の UI が見て取れます.本記事ではこれについてボトムアップで必要な知識から順を追って紹介します. 長い……三行で Neovim msgpack-rpc API を使って <canvas> と Node.js API で Neovim フロントエンドを作成し Web Component としてラップ して HTML アプリに簡単に組み込めるようにした上で UI プラグインをウェブ技術で構築できる NyaoVim という Neovim GUI エディタを Electron 使ってつくってます. 目次 Web C
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ECMAScript6 (ES6, ES2015) で導入された新機能の大半は、読めば便利さが想像くらいはできるけど、自分にとってしばらく訳がわからなかった新機能が「シンボル」(MDNのリファレンス)。これまで文字列だけで上手くやってきたJavaScriptに、急になぜこんなものが導入されたの? イマイチ分からなかったので、調べたことのまとめ。 シンボルの簡単なおさらい 知ってる人は読み飛ばし推奨。詳しく見たい人は、こことかの他のページを参照。 ES6で導入された、 Symbol() で作成できる特殊な値。 Symbol() は、 ty
Node project spinoff Io.js is moving to the Node.js Foundation, with a merge in progress In a major step toward reconciliation with the open-source project for trendy server-side JavaScript framework Node.js, the technical committee in charge of the Io.js group, which split off from the Node project several months ago, today voted to join the Node.js Foundation. Cloud provider and Node sponsor Joy
[速報]マイクロソフト、HTML5/JavaScriptアプリをiOS/Android/Windows対応に一括変換する「ManifoldJS」をオープンソースで発表。Build 2015 マイクロソフトが米サンフランシスコで開催中のイベント「Build 2015」。2日目の基調講演では、iOSやAndroid、Windows 10などクロスプラットフォーム対応のアプリケーションを一括で生成するツール「ManifoldJS」を発表しました。 マイクロソフト チーフエヴァンジェリストのスティーブ・グッゲンハイマー氏。「Windows対応だけではなく、クロスプラットフォーム対応のアプリケーションをどう作ればいいのかとよく聞かれる。2年前、われわれはゲーム向けにUnityを発表し、昨年はiOSとAndroid対応でXamarinの採用を発表した。今年はWebアプリケーションにフォーカスしよう」
# Domain Names For Sale Looking for the perfect domain? A strong domain is more than just a web address—it’s a powerful asset that builds credibility, enhances visibility, and leaves a lasting impression. Whether you are launching a new venture, rebranding, or securing a valuable digital property, our exclusive collection of domain names is curated to give your brand a competitive edge. Let’s find
delete演算子を使うと、削除した要素の値が「undefined」になる。 要素の数は変わらない。 numbers = ['zero','one','two','three']; delete numbers[2]; //3番目の要素を削除 //numbersは['zero','one',undefined,'three']; delete演算子で削除すると、配列に穴が開いてしまう。 この動作が期待した動作ではないことが多い。 要素を削除したら、インデックスを詰めてほしいはずだ。 spliceメソッドを使うと、削除した要素のインデックスを詰める。 要素の数は減少する。 numbers = ['zero','one','two','three']; numbers.splice(2, 1); //3番目の要素を削除 //numbersは['zero','one','three']; spl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く