Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

PART1はこちら : 【翻訳】2015年に向けたJavaScriptアプリケーションアーキテクチャ PART 1 オフラインの課題 オフラインでアプリケーションを使えなければ、真のモバイルWebエクスペリエンスとは言えません。 これまで、アプリケーションをオフラインで使用することは根本的に困難でしたが、状況は改善されつつあります。2014年を振り返ると、WebプラットフォームのAPIは、より良いプリミティブを提供できるよう進化し続けてきました。最近の事例で最も興味深かったのは Service Worker です。Service Workerは、オフラインでもサイトを稼動させることができるAPIです。ネットワークリクエストに割り込んで、そのリクエストをどう処理すべきかをブラウザに伝えます。 コントロールのレベルが適正かどうかという点以外は、アプリケーションキャッシュのあるべき姿を実現してい
webpack とは webpack は WebApp に必要なリソースの依存関係を解決し、アセット(配布物)を生成するビルドツール(要するにコンパイラ)です。JavaScript だけでなく、CoffeeScript や TypeScript、CSS 系、画像ファイルなどを扱うことができます。 WebApp のビルドツールは Grunt や Gulp が有名です。これらは基本的に、ビルド手順をタスクという形で自ら定義する必要があり、フロントエンド開発に馴染みのない開発者にとっては敷居が高いものでした(少なくとも、自分はそうでした)。 webpack を使えば、Grunt も Gulp も必要ありません!覚えるべきことはほとんどありません。(必要なら)簡単な設定ファイルを書いて webpack コマンドを実行するだけです。 以下では基本的な使い方を見ていきます。 ※もちろん Grunt/G
【追記150805】さらに憔悴しないための有用な記事『アカベコマイリ | gulp なしの Web フロントエンド開発』が掲載されましたので、こちらもお勧めします。 こんにちは、@armorik83です。皆さん、Grunt / gulp使ってますか。おなじみなので、ここでは説明はしません。 この記事の要点 なぜGrunt / gulpは憔悴に至るのか、経緯と問題点 npm run-scriptの仕組みについて package.jsonにscriptを羅列することに対する是非 シンプルなgulpfileについての提言 経緯 さて、先日このような記事が界隈で広まっていました。 Grunt/Gulpで憔悴したおっさんの話 この記事については同意できるところと、そうでもないところと、両方有りました。ただ、Grunt / gulpを使っていて色々歯がゆさを感じている方は昨今増えているだろうと感じます
(注記:4/10、いただいた翻訳フィードバックを元に記事を修正いたしました。) ほとんどのプログラミング言語は、評判のよい安定した、ごく少数のアプリケーションフレームワークをサポートしています。Objective-CやSwiftのアプリケーションではAppleの優れたフレームワーク、Cocoaを使用しています。Rubyのアプリケーションは、大抵Railsを使います。Javaには確立されたWebアプリのフレームワークが少数あって、それらは比較的ゆっくりと移り変わっています。 一方でJavaScriptのフレームワークは、およそ16分ごとに、最新で最良のものが誕生しています。 研究によると、(より新しくより優れたフレームワークが発明されない限り)作るのが最も複雑なJavaScriptのアプリはToDoリストだそうです。幸い、ToDoのサンプルプロジェクト経由でJavaScriptのフレームワー
とあるお仕事で、jQueryなどのライブラリー利用不可というものがありました。その際利用した、jQuery的に使える便利なメソッドをメモしておきます。(※ 昔使っていたものを引っ張りだして改善したものなので、どこかで公開されている可能性があります) 更新 addClass,removeClassを修正致しました。 元記事 下記エントリの転載になります。 jQueryがNGな時に備えて、用意しておきたい便利なメソッド イベントリスナ jQueryでいうところの、.on() に該当するものです。 "addEventListener" か "attachEvent" かを判定し、addEventメソッドを定義しています。 var addEvent; if (window.addEventListener) { addEvent = function (target, name, fn) { if
テンプレートがHTML内に存在しており、よく使われる手法です。見た目がナチュラルで、HTMLが自然にタグを内包しているので理にかなっています。ブラウザが <script> 要素のコンテンツをレンダリングしないため、ページレイアウトが崩れません。 テンプレートがAjaxを用いてロードされるケース Backbone.View.extend({ 'template': 'my-view-template', 'render': function() { $.get('/templates/' + this.template + '.html', function(template) { var html = $(template).tmpl(); }); } }); コードは外部HTMLファイルに記述され、 <script> タグを追加しなくても済むようになっています。しかしHTTPリクエストの
Taming the Configuration Beast with Pkl! Dan Chao explains how Pkl streamlines infrastructure as code workflows. By defining schemas and constraints, Pkl enables robust configuration management, catching errors early and providing clear feedback. The demo showcases Pkl's ability to generate YAML for Kubernetes and its advantages over manual YAML complexity.
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近話題のReact.jsですが、実戦投入に当たっては結構重たい選択を迫られることになります。 ざっくり言えば、テンプレートエンジンを捨ててReactしますか?それともReactあきらめますか?という選択です。 本記事ではReactの基本思想とこうした選択肢が生まれてしまう背景を述べるとともに、後半では「どちらもあきらめない」という(若干シミュレーションRPGあるある感のある)第三の方策について案を提示します。 Reactの基本 最初に、Reactの基本的な仕組みについてまとめておきます。 Reactは公式ドキュメントが非常に充実してい
Welcome to the React documentation! This page will give you an introduction to 80% of the React concepts that you will use on a daily basis. You will learn How to create and nest components How to add markup and styles How to display data How to render conditions and lists How to respond to events and update the screen How to share data between components Creating and nesting components React apps
(English article is here.) こんにちは、吉岡([twitter:@yoshiokatsuneo])です。 ウェブ開発に欠かせないJavaScriptフレームワークですが、日々発展しておりReact.js, Ractive.js, Aurelia.js, AngularJS2.0など次々と新しいフレームワークが出てきています。 一体どれを使えばいいのか?何が違うのか?何から調べていいのか迷うことがあります。 そこで、現時点で事実上全てとなる、9大主要フレームワークについて、実際に使ってみて比較を行います。 Backbone.js Ember.js Knockout.js AngularJS(1.x) React.js Ractive.js vue.js Aurelia.js AngularJS2.0(アルファ版) これらのフレームワークでは、以下のような機能が実現さ
Photo by Flickr: slworking2's Photostream 既にJavaやPHPなどオブジェクト指向言語を生業としてやっているが、その感覚でJavaScriptを少し扱っているて、いまいちJavaScript分からないという方を対象に、それらのプログラム言語とは違う、「少し独特なJavaScriptのオブジェクト指向」について説明します。 目次 オブジェクトの作成 プロパティの定義と代入 プロパティの削除 アクセサプロパティ(getter / setter) クラス定義 コンストラクタ引数 インスタンスメソッドの定義 クラスプロパティとクラスメソッドの定義 クラスの継承 クラスプロパティとクラスメソッドの継承 1. オブジェクトの作成大かっこ({})でObjectクラスを作成することができます。 また、new演算子で特定のオブジェクトを作成することができます。 //
こんにちは、吉岡([twitter:@yoshiokatsuneo])です。 AngularJSは、最も有名なフルスタックJavaScriptフレームワークで、『paiza.IO』でも使っていますが、現在次期バージョンAngularJS Ver2.0の開発が進められています。 そして、先日アメリカで開かれたAngularJSカンファレンスng-confで、待望のAngularJS2.0のアルファ版についての発表と、AngularJS2.0専用サイト http://angular.io/ の発表がありました。 AngularJS2.0公式サイト AngularJS2.0では、Angular1.0と比べて以下のような大きな変更が加えられています。 次世代JavaScript規格、ECMAScript6(ES6)の取り込み。(ポリフィルを用いることで現状のES5でも動作) JavaScriptを
@armorik83です。ちょっと一段落ついたところで、そろそろ真剣にPromiseの中身を読む必要があるなーと感じたので、そのときのメモです。 読んだ実装 今回はjakearchibald/es6-promise v2.0.1を読んでいきます。基礎知識としてJavaScript Promiseの本にも目を通しておくとよいでしょう。 サンプルソース サンプルとしてPromise本の1.3.1を若干改変して利用させてもらいました。 var Promise = require('es6-promise').Promise; function getURL(URL) { return new Promise(function (resolve, reject) { var req = new XMLHttpRequest(); req.open('GET', URL, true); req.on
Developers Summit 2015講演資料 新世代「JavaScriptコントロール」が登場 ― 新「Wijmo(ウィジモ)」の実力 ― http://event.shoeisha.jp/devsumi/20150219/session/659/
npmの基本的な使い方のまとめです。忘れたときに見返す用。 npmのインストールから、モジュールを取ってきて使うところまで。 環境は、CentOS7です。 インストール node.jsをインストールすると、一緒に入ります。 ここを参考にソースからインストールしました。 $ sudo yum groupinstall 'Development tools' $ wget http://nodejs.org/dist/v0.12.0/node-v0.12.0.tar.gz $ tar xvf node-v0.12.0.tar.gz $ cd node-v0.12.0/ $ ./configure --prefix=/usr/local $ make $ sudo make installバージョンを確認。 $ node -v v0.12.0 $ npm -v 2.5.1 モジュールのインストー
最近、JS界隈ではReactが大いに盛り上がっていますが、私のような一介の風俗解説本の著者からみると、何の話だろうといった感じです。 そこで、一度自分の中のJavaScriptライブラリの流れを整理してみようかなと思ってメモしたので公開してみます。 Ajax登場 2004年くらいまでは、 JSは危険だからブラウザでオフにしよう JSなしでも見られるページ作りをしよう という考え方が、Webに詳しい人達のわりと一般的なコンセンサスだったが、Ajax(主にGmailとGoogle Maps)の登場により世界は一変。Webの世界は、はっきり言ってJSなしでは生きられなくなった。 ちなみに、それまでのJSといえば、右クリックを禁止したり、ポップアップウィンドウを開いたりする、ただただウザい存在でしかなかったので、上記の考え方は別に尖っているわけではなかった。 素のJS書くのつらい → 最初の有名ラ
私はかつて自分はアーキテクトだと名乗ったことがあります。これを裏付けるため、今やウソだらけの複雑な話を設計しなくてはならなくなっているので、ある意味これは本当のことですね。冗談はさておき、2015年を目前としてJavaScriptコミュニティのアプリケーションアーキテクチャの状況について目を向けてみるのは有益なことだと思います。合成、関数型の境界、モジュラリティ、不変データ構造、CSPのチャネルと、その他に関連するいくつかのトピックについて書いてみたいと思います。 合成 アーキテクチャのレベルでは、JavaScriptで大規模なアプリケーションを作成する方法に関してここ数年で少なくとも一つの根本的な変更がありました。機械の細かい違いにより生み出される単一指向性の データバインディング、不変データ構造と、仮想DOM (どれも興味深い問題ですね)などを除けば、多くの開発者が一つのキーコンセプト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く