Suche senden
Hochladen
Frontend Application Architecture, Patterns, and Workflows
•
3 gefällt mir
•
4,031 views
Treasure Data, Inc.
Folgen
César Andreu
Weniger lesen
Mehr lesen
Ingenieurwesen
Melden
Teilen
Melden
Teilen
1 von 33
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
[Srijan Wednesday Webinars] Developing Large Scale Applications in AngularJS
[Srijan Wednesday Webinars] Developing Large Scale Applications in AngularJS
Srijan Technologies
AngularJS - Architecture decisionsin a large project
AngularJS - Architecture decisionsin a large project
Elad Hirsch
CQ5 and Sling overview
CQ5 and Sling overview
Bertrand Delacretaz
Introduction to require js
Introduction to require js
Ahmed Elharouny
Require.JS
Require.JS
Ivano Malavolta
Require JS
Require JS
Imaginea
Single Page Applications with AngularJS 2.0
Single Page Applications with AngularJS 2.0
Sumanth Chinthagunta
Integrating AngularJS with Drupal 7
Integrating AngularJS with Drupal 7
andrewmriley
Weitere ähnliche Inhalte
Was ist angesagt?
Drupalcon 2021 - Nuxt.js for drupal developers
Drupalcon 2021 - Nuxt.js for drupal developers
nuppla
8 Most Effective Node.js Tools for Developers
8 Most Effective Node.js Tools for Developers
iMOBDEV Technologies Pvt. Ltd.
Node, express & sails
Node, express & sails
Brian Shannon
Single Page Applications in SharePoint with Angular
Single Page Applications in SharePoint with Angular
Sparkhound Inc.
Introduction to CQ5
Introduction to CQ5
Michele Mostarda
3rd Generation Web Application Platforms
3rd Generation Web Application Platforms
Naresh Chintalcheru
Introduction to node.js
Introduction to node.js
Arun Kumar Arjunan
Kickstarting Node.js Projects with Yeoman
Kickstarting Node.js Projects with Yeoman
Patrick Buergin
Bundling your front-end with Webpack
Bundling your front-end with Webpack
Danillo Corvalan
Tech io nodejs_20130531_v0.6
Tech io nodejs_20130531_v0.6
Ganesh Kondal
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
MarkupBox
Building and Managing Projects with Maven
Building and Managing Projects with Maven
Khan625
Web application development using Play Framework (with Java)
Web application development using Play Framework (with Java)
Saeed Zarinfam
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
Sencha
Node js for enterprise
Node js for enterprise
ravisankar munusamy
Node.js an introduction
Node.js an introduction
Meraj Khattak
Play! Framework for JavaEE Developers
Play! Framework for JavaEE Developers
Teng Shiu Huang
Angular js 1.3 basic tutorial
Angular js 1.3 basic tutorial
Al-Mutaz Bellah Salahat
Developing Rest services with SailsJs by Andrey Kolodnitskiy
Developing Rest services with SailsJs by Andrey Kolodnitskiy
Lohika_Odessa_TechTalks
Being a jsp
Being a jsp
Manolis Vavalis
Was ist angesagt?
(20)
Drupalcon 2021 - Nuxt.js for drupal developers
Drupalcon 2021 - Nuxt.js for drupal developers
8 Most Effective Node.js Tools for Developers
8 Most Effective Node.js Tools for Developers
Node, express & sails
Node, express & sails
Single Page Applications in SharePoint with Angular
Single Page Applications in SharePoint with Angular
Introduction to CQ5
Introduction to CQ5
3rd Generation Web Application Platforms
3rd Generation Web Application Platforms
Introduction to node.js
Introduction to node.js
Kickstarting Node.js Projects with Yeoman
Kickstarting Node.js Projects with Yeoman
Bundling your front-end with Webpack
Bundling your front-end with Webpack
Tech io nodejs_20130531_v0.6
Tech io nodejs_20130531_v0.6
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
Building and Managing Projects with Maven
Building and Managing Projects with Maven
Web application development using Play Framework (with Java)
Web application development using Play Framework (with Java)
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...
Node js for enterprise
Node js for enterprise
Node.js an introduction
Node.js an introduction
Play! Framework for JavaEE Developers
Play! Framework for JavaEE Developers
Angular js 1.3 basic tutorial
Angular js 1.3 basic tutorial
Developing Rest services with SailsJs by Andrey Kolodnitskiy
Developing Rest services with SailsJs by Andrey Kolodnitskiy
Being a jsp
Being a jsp
Andere mochten auch
Choosing a JavaScript Framework
Choosing a JavaScript Framework
Treasure Data, Inc.
Front-End Architecture for Large Scale Apps - Gabriel Zigolis
Front-End Architecture for Large Scale Apps - Gabriel Zigolis
Gabriel Gottgtroy Zigolis
Choosing a Javascript Framework
Choosing a Javascript Framework
All Things Open
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Kenichiro MATOHARA
Boosting Your Productivity, with Backbone & RactiveJS
Boosting Your Productivity, with Backbone & RactiveJS
Gabriel Gottgtroy Zigolis
Ractive js
Ractive js
Knoldus Inc.
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
Choosing a JavaScript Framework
Choosing a JavaScript Framework
Tim Rayburn
players journey: 5-step design framework for longterm engagement
players journey: 5-step design framework for longterm engagement
Amy Jo Kim
Front End Best Practices
Front End Best Practices
Holger Bartel
Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC Applications
Sarvesh Kushwaha
Frontend Architecture and Data Visualization
Frontend Architecture and Data Visualization
Altocloud
Microservice Architecture
Microservice Architecture
tyrantbrian
Spotify architecture - Pressing play
Spotify architecture - Pressing play
Niklas Gustavsson
Angular 2 vs React
Angular 2 vs React
Iran Reyes Fleitas
ReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparison
500Tech
Modern JavaScript Applications: Design Patterns
Modern JavaScript Applications: Design Patterns
Volodymyr Voytyshyn
Hacking with ARM devices on Linux
Hacking with ARM devices on Linux
Netwalker lab kapper
29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions
Arc & Codementor
Angular 2 - Core Concepts
Angular 2 - Core Concepts
Fabio Biondi
Andere mochten auch
(20)
Choosing a JavaScript Framework
Choosing a JavaScript Framework
Front-End Architecture for Large Scale Apps - Gabriel Zigolis
Front-End Architecture for Large Scale Apps - Gabriel Zigolis
Choosing a Javascript Framework
Choosing a Javascript Framework
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Raspberry Piにdiskless modeのalpine linuxを導入してみる
Boosting Your Productivity, with Backbone & RactiveJS
Boosting Your Productivity, with Backbone & RactiveJS
Ractive js
Ractive js
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Choosing a JavaScript Framework
Choosing a JavaScript Framework
players journey: 5-step design framework for longterm engagement
players journey: 5-step design framework for longterm engagement
Front End Best Practices
Front End Best Practices
Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC Applications
Frontend Architecture and Data Visualization
Frontend Architecture and Data Visualization
Microservice Architecture
Microservice Architecture
Spotify architecture - Pressing play
Spotify architecture - Pressing play
Angular 2 vs React
Angular 2 vs React
ReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparison
Modern JavaScript Applications: Design Patterns
Modern JavaScript Applications: Design Patterns
Hacking with ARM devices on Linux
Hacking with ARM devices on Linux
29 Essential AngularJS Interview Questions
29 Essential AngularJS Interview Questions
Angular 2 - Core Concepts
Angular 2 - Core Concepts
Ähnlich wie Frontend Application Architecture, Patterns, and Workflows
Slickdemo
Slickdemo
Knoldus Inc.
Web App Prototypes with Google App Engine
Web App Prototypes with Google App Engine
Vlad Filippov
Experiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the Database
Marcelo Ochoa
Module, AMD, RequireJS
Module, AMD, RequireJS
偉格 高
Dart the Better JavaScript
Dart the Better JavaScript
Jorg Janke
ECMAScript 6 and the Node Driver
ECMAScript 6 and the Node Driver
MongoDB
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
Dmytro Semenov
The State of JavaScript
The State of JavaScript
Domenic Denicola
Benchx: An XQuery benchmarking web application
Benchx: An XQuery benchmarking web application
Andy Bunce
Javascript ui for rest services
Javascript ui for rest services
Ioan Eugen Stan
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
lennartkats
Drools & jBPM future roadmap talk
Drools & jBPM future roadmap talk
Mark Proctor
Packing for the Web with Webpack
Packing for the Web with Webpack
Thiago Temple
Postgres Deployment Automation with Terraform and Ansible
Postgres Deployment Automation with Terraform and Ansible
EDB
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Per Henrik Lausten
SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...
SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...
Inhacking
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Аліна Шепшелей
nodejs.pptx
nodejs.pptx
Naveen Gayar
Salesforce Batch processing - Atlanta SFUG
Salesforce Batch processing - Atlanta SFUG
vraopolisetti
Why kernelspace sucks?
Why kernelspace sucks?
OpenFest team
Ähnlich wie Frontend Application Architecture, Patterns, and Workflows
(20)
Slickdemo
Slickdemo
Web App Prototypes with Google App Engine
Web App Prototypes with Google App Engine
Experiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the Database
Module, AMD, RequireJS
Module, AMD, RequireJS
Dart the Better JavaScript
Dart the Better JavaScript
ECMAScript 6 and the Node Driver
ECMAScript 6 and the Node Driver
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
The State of JavaScript
The State of JavaScript
Benchx: An XQuery benchmarking web application
Benchx: An XQuery benchmarking web application
Javascript ui for rest services
Javascript ui for rest services
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Drools & jBPM future roadmap talk
Drools & jBPM future roadmap talk
Packing for the Web with Webpack
Packing for the Web with Webpack
Postgres Deployment Automation with Terraform and Ansible
Postgres Deployment Automation with Terraform and Ansible
Intro to XPages for Administrators (DanNotes, November 28, 2012)
Intro to XPages for Administrators (DanNotes, November 28, 2012)
SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...
SE2016 BigData Vitalii Bondarenko "HD insight spark. Advanced in-memory Big D...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
nodejs.pptx
nodejs.pptx
Salesforce Batch processing - Atlanta SFUG
Salesforce Batch processing - Atlanta SFUG
Why kernelspace sucks?
Why kernelspace sucks?
Mehr von Treasure Data, Inc.
GDPR: A Practical Guide for Marketers
GDPR: A Practical Guide for Marketers
Treasure Data, Inc.
AR and VR by the Numbers: A Data First Approach to the Technology and Market
AR and VR by the Numbers: A Data First Approach to the Technology and Market
Treasure Data, Inc.
Introduction to Customer Data Platforms
Introduction to Customer Data Platforms
Treasure Data, Inc.
Hands On: Javascript SDK
Hands On: Javascript SDK
Treasure Data, Inc.
Hands-On: Managing Slowly Changing Dimensions Using TD Workflow
Hands-On: Managing Slowly Changing Dimensions Using TD Workflow
Treasure Data, Inc.
Brand Analytics Management: Measuring CLV Across Platforms, Devices and Apps
Brand Analytics Management: Measuring CLV Across Platforms, Devices and Apps
Treasure Data, Inc.
How to Power Your Customer Experience with Data
How to Power Your Customer Experience with Data
Treasure Data, Inc.
Why Your VR Game is Virtually Useless Without Data
Why Your VR Game is Virtually Useless Without Data
Treasure Data, Inc.
Connecting the Customer Data Dots
Connecting the Customer Data Dots
Treasure Data, Inc.
Harnessing Data for Better Customer Experience and Company Success
Harnessing Data for Better Customer Experience and Company Success
Treasure Data, Inc.
Packaging Ecosystems -Monki Gras 2017
Packaging Ecosystems -Monki Gras 2017
Treasure Data, Inc.
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
Treasure Data, Inc.
Keynote - Fluentd meetup v14
Keynote - Fluentd meetup v14
Treasure Data, Inc.
Introduction to New features and Use cases of Hivemall
Introduction to New features and Use cases of Hivemall
Treasure Data, Inc.
Scalable Hadoop in the cloud
Scalable Hadoop in the cloud
Treasure Data, Inc.
Using Embulk at Treasure Data
Using Embulk at Treasure Data
Treasure Data, Inc.
Scaling to Infinity - Open Source meets Big Data
Scaling to Infinity - Open Source meets Big Data
Treasure Data, Inc.
Treasure Data: Move your data from MySQL to Redshift with (not much more tha...
Treasure Data: Move your data from MySQL to Redshift with (not much more tha...
Treasure Data, Inc.
Treasure Data From MySQL to Redshift
Treasure Data From MySQL to Redshift
Treasure Data, Inc.
Unifying Events and Logs into the Cloud
Unifying Events and Logs into the Cloud
Treasure Data, Inc.
Mehr von Treasure Data, Inc.
(20)
GDPR: A Practical Guide for Marketers
GDPR: A Practical Guide for Marketers
AR and VR by the Numbers: A Data First Approach to the Technology and Market
AR and VR by the Numbers: A Data First Approach to the Technology and Market
Introduction to Customer Data Platforms
Introduction to Customer Data Platforms
Hands On: Javascript SDK
Hands On: Javascript SDK
Hands-On: Managing Slowly Changing Dimensions Using TD Workflow
Hands-On: Managing Slowly Changing Dimensions Using TD Workflow
Brand Analytics Management: Measuring CLV Across Platforms, Devices and Apps
Brand Analytics Management: Measuring CLV Across Platforms, Devices and Apps
How to Power Your Customer Experience with Data
How to Power Your Customer Experience with Data
Why Your VR Game is Virtually Useless Without Data
Why Your VR Game is Virtually Useless Without Data
Connecting the Customer Data Dots
Connecting the Customer Data Dots
Harnessing Data for Better Customer Experience and Company Success
Harnessing Data for Better Customer Experience and Company Success
Packaging Ecosystems -Monki Gras 2017
Packaging Ecosystems -Monki Gras 2017
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
Keynote - Fluentd meetup v14
Keynote - Fluentd meetup v14
Introduction to New features and Use cases of Hivemall
Introduction to New features and Use cases of Hivemall
Scalable Hadoop in the cloud
Scalable Hadoop in the cloud
Using Embulk at Treasure Data
Using Embulk at Treasure Data
Scaling to Infinity - Open Source meets Big Data
Scaling to Infinity - Open Source meets Big Data
Treasure Data: Move your data from MySQL to Redshift with (not much more tha...
Treasure Data: Move your data from MySQL to Redshift with (not much more tha...
Treasure Data From MySQL to Redshift
Treasure Data From MySQL to Redshift
Unifying Events and Logs into the Cloud
Unifying Events and Logs into the Cloud
Kürzlich hochgeladen
Graphics Primitives and CG Display Devices
Graphics Primitives and CG Display Devices
DIPIKA83
SUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docx
SUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docx
NaveenVerma126
cloud computing notes for anna university syllabus
cloud computing notes for anna university syllabus
Violet Violet
Litature Review: Research Paper work for Engineering
Litature Review: Research Paper work for Engineering
Manipal Institute of Technology Manipal
me3493 manufacturing technology unit 1 Part A
me3493 manufacturing technology unit 1 Part A
karthi keyan
News web APP using NEWS API for web platform to enhancing user experience
News web APP using NEWS API for web platform to enhancing user experience
AkashJha84
nvidia AI-gtc 2024 partial slide deck.pptx
nvidia AI-gtc 2024 partial slide deck.pptx
jasonsedano2
Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Apollo Techno Industries Pvt Ltd
Transforming Process Safety Management: Challenges, Benefits, and Transition ...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...
soginsider
計劃趕得上變化
計劃趕得上變化
Jersey (CHE-PING) Su
Popular-NO1 Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialis...
Popular-NO1 Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialis...
Amil baba
Lecture 2 .pdf
Lecture 2 .pdf
abdnazar2003
Tachyon 100G PCB Performance Attributes and Applications
Tachyon 100G PCB Performance Attributes and Applications
Epec Engineered Technologies
Modelling Guide for Timber Structures - FPInnovations
Modelling Guide for Timber Structures - FPInnovations
Yusuf Yıldız
Présentation IIRB 2024 Marine Cordonnier.pdf
Présentation IIRB 2024 Marine Cordonnier.pdf
Institut Technique de la Betterave
Renewable Energy & Entrepreneurship Workshop_21Feb2024.pdf
Renewable Energy & Entrepreneurship Workshop_21Feb2024.pdf
odunowoeminence2019
IT3401-WEB ESSENTIALS PRESENTATIONS.pptx
IT3401-WEB ESSENTIALS PRESENTATIONS.pptx
SAJITHABANUS
specification estimation and valuation of a building
specification estimation and valuation of a building
swethasekhar5
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
LMW Machine Tool Division
Engineering Mechanics Chapter 5 Equilibrium of a Rigid Body
Engineering Mechanics Chapter 5 Equilibrium of a Rigid Body
AhmadHajasad2
Kürzlich hochgeladen
(20)
Graphics Primitives and CG Display Devices
Graphics Primitives and CG Display Devices
SUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docx
SUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docx
cloud computing notes for anna university syllabus
cloud computing notes for anna university syllabus
Litature Review: Research Paper work for Engineering
Litature Review: Research Paper work for Engineering
me3493 manufacturing technology unit 1 Part A
me3493 manufacturing technology unit 1 Part A
News web APP using NEWS API for web platform to enhancing user experience
News web APP using NEWS API for web platform to enhancing user experience
nvidia AI-gtc 2024 partial slide deck.pptx
nvidia AI-gtc 2024 partial slide deck.pptx
Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...
計劃趕得上變化
計劃趕得上變化
Popular-NO1 Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialis...
Popular-NO1 Kala Jadu Expert Specialist In Germany Kala Jadu Expert Specialis...
Lecture 2 .pdf
Lecture 2 .pdf
Tachyon 100G PCB Performance Attributes and Applications
Tachyon 100G PCB Performance Attributes and Applications
Modelling Guide for Timber Structures - FPInnovations
Modelling Guide for Timber Structures - FPInnovations
Présentation IIRB 2024 Marine Cordonnier.pdf
Présentation IIRB 2024 Marine Cordonnier.pdf
Renewable Energy & Entrepreneurship Workshop_21Feb2024.pdf
Renewable Energy & Entrepreneurship Workshop_21Feb2024.pdf
IT3401-WEB ESSENTIALS PRESENTATIONS.pptx
IT3401-WEB ESSENTIALS PRESENTATIONS.pptx
specification estimation and valuation of a building
specification estimation and valuation of a building
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Engineering Mechanics Chapter 5 Equilibrium of a Rigid Body
Engineering Mechanics Chapter 5 Equilibrium of a Rigid Body
Frontend Application Architecture, Patterns, and Workflows
1.
Frontend Application Architecture, Patterns, and
Workflows César Andreu @CesarAndreu
2.
Treasure Data ● ~2 years ● Full-stack
engineer ○ Frontend ○ API
4.
♥ ramen
5.
Goals ● Improve dev experience ● Learn
something new
6.
Application Architecture
7.
Future JavaScript ● ES6, ES7 ● Write
better JavaScript ● Backwards compatible ● Usable today => babeljs.io
8.
Some ES6 features ● Generators ● Class
syntax ● Module system ● Template strings
9.
ES7: Async function async
function getUserFileList (id) { var user = await User.get(id) var fileList = await s3.listObjects({ Bucket: user.bucket }) return fileList.Contents } getUserFileList(1).then(list => { console.log('list', list) })
10.
Builds ● Transpilation ● Debugging ● Modules ● Assets
12.
Transpilation module: { loaders: [{ loader:
'babel', test: /.(js|jsx)$/, exclude: /node_modules/ }] }
13.
Debugging
14.
Modules ● ES6 ● CommonJS ● AMD ● globals
15.
Assets // Create <img> var
logo = document.createElement('img') // "/assets/0dcbbaa701328a3c262cfd45869e351f.png" logo.src = require('./logo.png')
16.
Environments ● development ● production ● staging ● test
17.
DefinePlugin new webpack.DefinePlugin({ ENV: JSON.stringify(process.env.ENV) })
18.
DefinePlugin example // process.env.ENV
= 'production' if (ENV === 'production') // true log('production message') if (ENV === 'development') // false log('development message') // After minification log('production message')
19.
Application Patterns
20.
Dependency Injection ● Use higher-order
functions ● No libraries needed ● Easier to test
21.
// No dependency
injection var fetch = require('fetch') module.exports = function get (id) { return fetch('/resource/' + id) .then(function checkAuth (response) { if (response.status === 401) document.location.refresh() }) }
22.
// Dependency injection module.exports
= function getFactory (params) { var location = params.location var fetch = params.fetch return function get (id) { return fetch('/resource/' + id) .then(function checkAuth (response) { if (response.status === 401) location.refresh() }) } }
23.
DI guidelines ● Don't overdo
it! ● Static? Avoid DI ● Dynamic? Consider DI
24.
Immutability ● Predictable ● Transparent changes ● Easier to
understand
25.
immutable.js var Immutable =
require('immutable') var map1 = Immutable.Map({a:1, b:2, c:3}) var map2 = map1.set('b', 50) map1.get('b') // 2 map2.get('b') // 50
26.
Flux Action Action Dispatcher Store View Unidirectional
data flow
27.
Application Workflows
28.
Node version manager ● Both
node.js and io.js ● No magic https://github.com/creationix/nvm
29.
eslint ● Catch errors early ● ES6
with babel-eslint ● Cross-platform ● Great editor support
30.
Webpack HMR ● Hot module
replacement ● react-hot-loader ● style-loader
32.
Contact ● César Andreu ●
@CesarAndreu ● github.com/cesarandreu ● cesar@treasure-data.com Fin.
33.
Links ● https://babeljs.io/ ● https://babeljs.io/docs/learn-es6/ ●
https://github.com/lukehoban/ecmascript-asyncawait ● http://webpack.github.io/ ● https://github.com/ryanseddon/source-map/wiki/ ● http://facebook.github.io/immutable-js/ ● https://github.com/creationix/nvm ● http://eslint.org/ ● https://github.com/babel/babel-eslint ● http://gaearon.github.io/react-hot-loader/ ● http://webpack.github.io/docs/hot-module-replacement-with-webpack.html
Jetzt herunterladen