Angular 2 Core Igor Minar Tobias Bosch Video: http://goo.gl/PxARYM Follow up post: Script: https://docs.google.com/a/google.com/document/d/1UJ21sC3WJ1rVW0_bXG55RXSA8owY7hnpsBs205okwUs/edit# ng-europe 2014 video | follow-up post
「Angularの資料で何か良いものは?」と聞かれることが多くなってきましたので、そしてAngular資料探しの手間を省くためにも、いつも使っているサイトリンクをまとめます。良い資料があったらこのブログを更新します。読む目安が欲しいというお話がありましたので「★」を付けます。「★」の付いてないものは必要に応じて目を通すと良いのではと思います(あくまでも目安です)。 ★ : まず読みましょう ★★ : 少し慣れたら読もう ★★★ :仕事で使うよ 学習順は YEOMANでAngularをインストールし触りながら Angular本家を見つつ Angular Style GuideやNinjaで理解を深める でしょうか(学び方は人それぞれですので)。何れにしても手を動かすのが最良です。 Angular 2 Angular is a development platform for building
AngularJS黒魔術のうちの1つ。DI。 コントローラーの引数に$httpなどを指定すると、なぜ何もしなくてもHttpProviderの返り値が入ってくるのか。 var userControllers = angular.module('userControllers', []); userControllers.controller('UsersCtrl', function($scope, $http) { $http.get('users/index.json').success(function(data) { $scope.users = data; }); }); function invoke(fn, self, locals){ var args = [], $inject = annotate(fn), length, i, key; for(i = 0, lengt
This is the first in a series of articles about the best practices I’ve learned to apply when working on single-page applications with AngularJS. It started out as a basic list of best practices for some colleagues who were just getting to know the framework. This series will provide in-depth information and arguments supporting my tips. As the title of the series suggests, this stuff is based on
ngResource は単にAPIのラッパーという感じではなくて、JS でサーバ側のモデルとうまく同期するように作られている。 最も簡単な例だと以下のように使うが、Entry.get は XHR が完了する前に、とりあえず空のオブジェクトが返るようになっており、XHR の完了とともに破壊的に書きかえられる。これにより、entry の変更がすぐ全体に伝わるようになっている。 var Entry = $resource('/entry/:id'); $scope.entry = Entry.get({ id : 0 }); デフォルトで定義されている query/get/save/delete だけを見ると単に REST API のラッパーのように見えるが、独自のメソッドを追加するとより理解しやすいコードを書ける。 以下のコードは、デフォルトで下書き状態で生成される Entry オブジェクトを
AngularJS には ngResource という拡張があって、サーバに対する API 経由の CRUD 的操作を JavaScript のオブジェクトとしてラッピングできる。具体的には例えば var Entry = $resource('/entry/:id'); var entry = Entry.get({ id : 0 }, function () { entry.title = "yuno"; entry.$save(); // XHR (async) }); とかできる。ちょっとかっこいいけど、既存APIで使おうとすると、些細なフォーマットの違いで案の定使えなかったりする。どうしても使ってみたいけど、サーバサイドAPIの仕様まで変えたくない場合、若干無理矢理な方法である程度なら対応させることができる。 サーバサイドの仕様 前提として以下のような仕様だとする エントリリスト取
現在開発担当している AbemaTV で、昨年末にパナソニックさんのスマートテレビ VIERA 向けにアプリケーションをリリースしました。AbemaTV リモコンボタンで AbemaTV にアクセスできます。今回このアプリケーションの UI を開発するにあたって、新しいデザインワークフローを導入しました。 本記事では、 Story-Assured Design というデザインワークフローを、現在プロダクト開発で直面しているデザインの課題とともに紹介します。 Story-Assured Design とは? Story-Assured Design はその名前が示しているように、ユーザーストーリーを保証することを目的とした UI デザインのワークフローです。UI デザインを3つのステップに分けて行います。 ストーリーデザイン デザインの構造化 視覚情報デザイン 一番重要なユーザーストーリーの
AngularJSの特徴でもある、モデルとビューの2way binding。 AngularJSの簡単なコードがあるとする。(投稿時点ではv1.2.6) <body ng-app ng-init="message = 'nothing'"> <div ng-controller="SampleCtrl"> <input type="text" ng-model="message"> <br> <button ng-click="clearMessage()">Clear</button> <br> <span>{{getMessage()}}</span> </div> <script> var SampleCtrl = function($scope) { $scope.message = ''; $scope.clearMessage = function() { $scope.mes
AngularJSはテストを重視しているフレームワークだと言われています。 それは、DIが標準搭載されているのでサーバーとの通信などのテストしにくい部分を簡単にモックに差し替えることが出来たり、ユニットテストやEnd to End(E2E)テストのためのフレームワークを持っていたりするからでしょう。 そして、現在標準で含まれているE2Eテストのための機能は、今後ProtractorというSelenium WebDriverJSベースのフレームワークに移行すると発表されています。(AngularJS 1.2 & Beyond) これまでのE2Eテストフレームワークを捨てて新しいものに乗り替えるのには理由があります。 それは、Seleniumをベースにすることで次のような恩恵を受けられるからです。 ブラウザを操作するためのAPIが充実 複数ブラウザでの実行が可能 リモートページのテストが可能
JavaScriptフレームワークに興味あるし、Angular.jsを使ってみようかな・・・ そんな純真無垢なあなたを混沌の世紀末に引きずり込むのが、ほかでもないTutorialなのです。 TutorialではほぼControllerしか出てこないので、素直にこの通り書いているとまず間違いなく3カウントでControllerにコードが集中するいわゆるFat Controllerになり、せっかくMVCフレームワークも地獄の荒野になります。 実は、Angular.jsでまず目を通すべきなのはDeveloper GuideのConceptual Overviewです。これを読めばどう処理を分割するかがきちんと書かれていますが、以下ではそれ+経験をもとにAngular.jsで正しくMVCを使用するためのポイントをまとめました。 Angular.jsの3原則 1.Controllerはイベントハンド
最近、管理画面で AngularJS をつかってみている。 そんな中で、いくつか工夫した点があるのでそれをシェアさせていただきます。 XHR のエラーを表示する XHR のエラーがおきた際のハンドリングをいちいち手でかくのは非効率。管理画面とか中の人しかつかわないので、エラーがおこった旨を随時報告するだけでよい。 そんなケースでは以下のようにする。 angular.module('myapp.exceptionHandler', []) .config(['$httpProvider', function ($httpProvider) { $httpProvider.interceptors.push(function($q, $log, $rootScope) { return { 'responseError': function(response) { $log.error(res
AngularJSの勉強会に参加して来ました。300人の定員があっという間に満席になるという事で注目の高さが伺える勉強会でした。参加者も発表の内容もバラエティに富んでいてこれから大きな飛躍があるであろう事を期待させる盛りだくさんの内容でした。 今回はEngine Yardから懇親会のスポンサードをさせて頂くと同時にPHPとAngularJSの連携のLTや動画の撮影を行ってきましたので紹介させて頂きます。 ng-mtg#4 AngularJS 勉強会 | 集客ならイベントアテンド http://atnd.org/event/E0021975/ ng-mtg#4 AngularJS 勉強会 #ng_jp - Togetterまとめ http://togetter.com/li/598391 AngularJS 20min @naoya_itoさんによるAngularJSの入門講座。おなじみの
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
かなり前から気になってはいたので、今度こそ使ってみようと思って、AngularJSを使い始めた。 Yo+Grunt+Bowerを使うとワークフローがかなり楽なので、ここにまとめておく。 まず、 以上の3つのソフトは何なのかを軽く紹介する。 Yo: プロジェクトのテンプレートなどを自動生成するためのツール Grunt: JSのタスクランナー。テストの実行とか、ファイルの結合とか自動でやるために使う。 Bower: Twitterの出しているJSのフロントエンド用のパッケージマネージャー。 セットアップ 事前インストール Nodeとnpmのインストール このツールを使うためにNodeJSとnpmが必要になるので、まずそのインストールから。 NodeJSのインストールはプラットフォームによって変わったりするけど、WindowsとMacの場合は公式サイトのダウンロードページからインストーラーがダウ
ネットでRails x AngularJSで調べると、AssetsにAngularJSを追加してやるのが普通的なことをよく見る。でも、この方法だとYeomanや、Grunt.jsが使えず、Rails x AngularJSでKarmaでテストを書いたりといったことができないし、AngularJSの作法にのっとった開発ができないのがとてもモヤモヤしていた。 てことで、もうこれはAsset Pipelineを使わない方向で行くのがベストなんじゃないのか、という方向で色々探し回っていたら、同じようなことを考えていた方がいたようで,これを参考にしてもっとベーシックな枠組みを作ってみた。 Asset Pipeline の機能が使えなくなる?ご心配なく。Grunt.jsがJSコードの圧縮、SCSS, CoffeeScriptのコンパイル、さらにLiveloadの恩恵, 画像の圧縮、テストの自動実行もで
開発を進める上でServerサイドと分離してフロントサイドのみに集中して開発すると捗ります。AngularJSではサーバサイドをモックするAPIが用意されています。使ってみました。(Yoeman等はイントール済みを仮定) まず、angular-mocks.jsというライブラリをindex.htmlで読み込みます。同様にmock.jsというこれから作るスクリプトを読み込むようにしておきます。 # In index.html <script src="bower_components/angular-mocks/angular-mocks.js"></script> # mock.jsはこれから作る <script src="scripts/mock.js"></script> 次にメインのapp.jsにngMockE2Eのモジュールを追加します # In app.js angular.mod
DI (Dependency Injection)ってのは日本語では依存性注入とも呼ばれ、大雑把に言うとAngularJSがコントローラなどに必要とされているコンポーネント(オブジェクト)をいい感じに渡してやる機能です。 ここでは特にAngularJSのDIがどのような仕組で動いてるか、そしてその独特なDIの実装にまつわるトラブルケースを説明します。 AngularJSのコントローラの書き方 まずはAngularJSの中心的な機能であるコントローラの書き方には、簡単版と面倒版の複数の書き方があることを抑えておきましょう。 パターン1(グローバル関数パターン) サンプルとかでよく見るのは↓こういうグローバル関数の形のコントローラです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く