Enviar búsqueda
Cargar
The Architect Way - JSCamp.asia 2012
•
11 recomendaciones
•
5,462 vistas
Jan Jongboom
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 78
Descargar ahora
Descargar para leer sin conexión
Recomendados
A Personal Journey
A Personal Journey
Michael Lihs
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
Michael Lihs
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Matthew Cobby
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
DevConFu
The ABC's of IaC
The ABC's of IaC
Steven Pressman, CISSP
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
FITC
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette
Recomendados
A Personal Journey
A Personal Journey
Michael Lihs
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
Michael Lihs
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Matthew Cobby
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
DevConFu
The ABC's of IaC
The ABC's of IaC
Steven Pressman, CISSP
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
Creating a Comprehensive Social Media App Using Ionic and Phone Gap
FITC
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette
Perl-Critic
Perl-Critic
Jonas Brømsø
Devops and Immutable infrastructure - Cloud Expo 2015 NYC
Devops and Immutable infrastructure - Cloud Expo 2015 NYC
John Willis
Continuous Integration at Mollie
Continuous Integration at Mollie
willemstuursma
Porque Odeio Branches
Porque Odeio Branches
Rafael Petry
Stackato v6
Stackato v6
Jonas Brømsø
Devops With Boxfuse and Shippable
Devops With Boxfuse and Shippable
Andrew Schwabe
DevOps For Solo Developers
DevOps For Solo Developers
Jure Cuhalev
Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...
Manning Publications
Working Well Together: How to Keep High-end Game Development Teams Productive
Working Well Together: How to Keep High-end Game Development Teams Productive
Perforce
GitHub as a Landing Page
GitHub as a Landing Page
Pronovix
ClearCase Escape Plan
ClearCase Escape Plan
Perforce
Accelerating time to delivery modern tools for cobol development
Accelerating time to delivery modern tools for cobol development
Micro Focus
Jenkins Reviewbot
Jenkins Reviewbot
Yardena Meymann
Zend Code in ZF 2.0
Zend Code in ZF 2.0
Ralph Schindler
Deploy applications with TFS Build
Deploy applications with TFS Build
Gian Maria Ricci
JustLetMeCode-Final
JustLetMeCode-Final
David Persing
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPress
Marko Heijnen
Serverless Media Workflow
Serverless Media Workflow
MooYeol Lee
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perforce
Effective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and Dapper
Mike Melusky
Career Development for Architects
Career Development for Architects
Kevin Francis
BY LAWS CLUSTER HOUSING
BY LAWS CLUSTER HOUSING
Dhanya Pravin
Más contenido relacionado
La actualidad más candente
Perl-Critic
Perl-Critic
Jonas Brømsø
Devops and Immutable infrastructure - Cloud Expo 2015 NYC
Devops and Immutable infrastructure - Cloud Expo 2015 NYC
John Willis
Continuous Integration at Mollie
Continuous Integration at Mollie
willemstuursma
Porque Odeio Branches
Porque Odeio Branches
Rafael Petry
Stackato v6
Stackato v6
Jonas Brømsø
Devops With Boxfuse and Shippable
Devops With Boxfuse and Shippable
Andrew Schwabe
DevOps For Solo Developers
DevOps For Solo Developers
Jure Cuhalev
Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...
Manning Publications
Working Well Together: How to Keep High-end Game Development Teams Productive
Working Well Together: How to Keep High-end Game Development Teams Productive
Perforce
GitHub as a Landing Page
GitHub as a Landing Page
Pronovix
ClearCase Escape Plan
ClearCase Escape Plan
Perforce
Accelerating time to delivery modern tools for cobol development
Accelerating time to delivery modern tools for cobol development
Micro Focus
Jenkins Reviewbot
Jenkins Reviewbot
Yardena Meymann
Zend Code in ZF 2.0
Zend Code in ZF 2.0
Ralph Schindler
Deploy applications with TFS Build
Deploy applications with TFS Build
Gian Maria Ricci
JustLetMeCode-Final
JustLetMeCode-Final
David Persing
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPress
Marko Heijnen
Serverless Media Workflow
Serverless Media Workflow
MooYeol Lee
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perforce
Effective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and Dapper
Mike Melusky
La actualidad más candente
(20)
Perl-Critic
Perl-Critic
Devops and Immutable infrastructure - Cloud Expo 2015 NYC
Devops and Immutable infrastructure - Cloud Expo 2015 NYC
Continuous Integration at Mollie
Continuous Integration at Mollie
Porque Odeio Branches
Porque Odeio Branches
Stackato v6
Stackato v6
Devops With Boxfuse and Shippable
Devops With Boxfuse and Shippable
DevOps For Solo Developers
DevOps For Solo Developers
Crafting interactive troubleshooting guides and team documentation for your K...
Crafting interactive troubleshooting guides and team documentation for your K...
Working Well Together: How to Keep High-end Game Development Teams Productive
Working Well Together: How to Keep High-end Game Development Teams Productive
GitHub as a Landing Page
GitHub as a Landing Page
ClearCase Escape Plan
ClearCase Escape Plan
Accelerating time to delivery modern tools for cobol development
Accelerating time to delivery modern tools for cobol development
Jenkins Reviewbot
Jenkins Reviewbot
Zend Code in ZF 2.0
Zend Code in ZF 2.0
Deploy applications with TFS Build
Deploy applications with TFS Build
JustLetMeCode-Final
JustLetMeCode-Final
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPress
Serverless Media Workflow
Serverless Media Workflow
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins
Effective .NET Core Unit Testing with SQLite and Dapper
Effective .NET Core Unit Testing with SQLite and Dapper
Destacado
Career Development for Architects
Career Development for Architects
Kevin Francis
BY LAWS CLUSTER HOUSING
BY LAWS CLUSTER HOUSING
Dhanya Pravin
The New Role of the architect - central to growing your business in todays di...
The New Role of the architect - central to growing your business in todays di...
Gunnar Menzel
VDV 45x oder Google? / Neue Schnittstellen für den Datenaustausch
VDV 45x oder Google? / Neue Schnittstellen für den Datenaustausch
Tobias Frommenwiler
Midiakit 2010
Midiakit 2010
ElogieAki
Operación realizada por el Dr. Ramiro Yane Mana
Operación realizada por el Dr. Ramiro Yane Mana
Ramiro Yane Mana
Crowdfunding für Naturfilme? (Green Screen 2011)
Crowdfunding für Naturfilme? (Green Screen 2011)
Wolfgang Gumpelmaier-Mach
06 calidad optica
06 calidad optica
ortokextremadura
Menor amendment
Menor amendment
Honolulu Civil Beat
Real decreto-1424-servicios-en-el-hogar
Real decreto-1424-servicios-en-el-hogar
Linax Linux Axarquía
E:\Ch Power Point Presentations\Chapter One Jesus Christ And The Foun...
E:\Ch Power Point Presentations\Chapter One Jesus Christ And The Foun...
Matt Russick
Chapter 7
Chapter 7
BHUOnlineDepartment
Uso racional de Antibioticos
Uso racional de Antibioticos
Ruth Vargas Gonzales
Reportuiteo: presentación en Foro Unirede
Reportuiteo: presentación en Foro Unirede
Laura Camino
Seminario análisis forense - quién se ha llevado mi archivo
Seminario análisis forense - quién se ha llevado mi archivo
INCIDE
EcoVadis presentation ES_2016
EcoVadis presentation ES_2016
achagnon
Diego Jaramillo, CEO de FHIOS en Academia Inbound
Diego Jaramillo, CEO de FHIOS en Academia Inbound
Hiperestrategia
Configurar programes notepad para Compilar Visual Basic
Configurar programes notepad para Compilar Visual Basic
UNACAR
PSA Group : 9 strategic issues for a sustainable development
PSA Group : 9 strategic issues for a sustainable development
Groupe PSA
Wanna Be An Architect?
Wanna Be An Architect?
Henry Jacob
Destacado
(20)
Career Development for Architects
Career Development for Architects
BY LAWS CLUSTER HOUSING
BY LAWS CLUSTER HOUSING
The New Role of the architect - central to growing your business in todays di...
The New Role of the architect - central to growing your business in todays di...
VDV 45x oder Google? / Neue Schnittstellen für den Datenaustausch
VDV 45x oder Google? / Neue Schnittstellen für den Datenaustausch
Midiakit 2010
Midiakit 2010
Operación realizada por el Dr. Ramiro Yane Mana
Operación realizada por el Dr. Ramiro Yane Mana
Crowdfunding für Naturfilme? (Green Screen 2011)
Crowdfunding für Naturfilme? (Green Screen 2011)
06 calidad optica
06 calidad optica
Menor amendment
Menor amendment
Real decreto-1424-servicios-en-el-hogar
Real decreto-1424-servicios-en-el-hogar
E:\Ch Power Point Presentations\Chapter One Jesus Christ And The Foun...
E:\Ch Power Point Presentations\Chapter One Jesus Christ And The Foun...
Chapter 7
Chapter 7
Uso racional de Antibioticos
Uso racional de Antibioticos
Reportuiteo: presentación en Foro Unirede
Reportuiteo: presentación en Foro Unirede
Seminario análisis forense - quién se ha llevado mi archivo
Seminario análisis forense - quién se ha llevado mi archivo
EcoVadis presentation ES_2016
EcoVadis presentation ES_2016
Diego Jaramillo, CEO de FHIOS en Academia Inbound
Diego Jaramillo, CEO de FHIOS en Academia Inbound
Configurar programes notepad para Compilar Visual Basic
Configurar programes notepad para Compilar Visual Basic
PSA Group : 9 strategic issues for a sustainable development
PSA Group : 9 strategic issues for a sustainable development
Wanna Be An Architect?
Wanna Be An Architect?
Similar a The Architect Way - JSCamp.asia 2012
The Architect Way
The Architect Way
Jan Jongboom
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
Dmytro Mindra
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
Software Guru
SGCE 2015 REST APIs
SGCE 2015 REST APIs
Domingo Suarez Torres
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
E. Camden Fisher
What we talk about when we talk about DevOps
What we talk about when we talk about DevOps
Ricard Clau
Introduction to Aspect Oriented Programming (DDD South West 4.0)
Introduction to Aspect Oriented Programming (DDD South West 4.0)
Yan Cui
The Three Musketeers
The Three Musketeers
Frederic Lemay
Ruby in office time reboot
Ruby in office time reboot
Kentaro Goto
Modern Web-site Development Pipeline
Modern Web-site Development Pipeline
GlobalLogic Ukraine
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
AWS Vietnam Community
Ria Applications And PHP
Ria Applications And PHP
John Coggeshall
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
Docker, Inc.
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Phil Leggetter
Writing Services with ZF2
Writing Services with ZF2
Mike Willbanks
Serverless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL Shortener
Luca Bianchi
Tooling for the JavaScript Era
Tooling for the JavaScript Era
martinlippert
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
PostSharp Technologies
Similar a The Architect Way - JSCamp.asia 2012
(20)
The Architect Way
The Architect Way
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
APIs distribuidos con alta escalabilidad
APIs distribuidos con alta escalabilidad
SGCE 2015 REST APIs
SGCE 2015 REST APIs
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
What we talk about when we talk about DevOps
What we talk about when we talk about DevOps
Introduction to Aspect Oriented Programming (DDD South West 4.0)
Introduction to Aspect Oriented Programming (DDD South West 4.0)
The Three Musketeers
The Three Musketeers
Ruby in office time reboot
Ruby in office time reboot
Modern Web-site Development Pipeline
Modern Web-site Development Pipeline
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Ria Applications And PHP
Ria Applications And PHP
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Writing Services with ZF2
Writing Services with ZF2
Serverless On Stage - Serverless URL Shortener
Serverless On Stage - Serverless URL Shortener
Tooling for the JavaScript Era
Tooling for the JavaScript Era
10 Reasons You MUST Consider Pattern-Aware Programming
10 Reasons You MUST Consider Pattern-Aware Programming
Más de Jan Jongboom
TinyML on Arduino - workshop
TinyML on Arduino - workshop
Jan Jongboom
Intelligent Edge - Getting started with TinyML for industrial applications
Intelligent Edge - Getting started with TinyML for industrial applications
Jan Jongboom
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
Jan Jongboom
Get started with TinyML - Embedded online conference
Get started with TinyML - Embedded online conference
Jan Jongboom
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Jan Jongboom
Get started with TinyML - Hackster webinar 9 April 2020
Get started with TinyML - Hackster webinar 9 April 2020
Jan Jongboom
Tiny intelligent computers and sensors - Open Hardware Event 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020
Jan Jongboom
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Jan Jongboom
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
Jan Jongboom
Machine learning on 1 square centimeter - Emerce Next 2019
Machine learning on 1 square centimeter - Emerce Next 2019
Jan Jongboom
Fundamentals of IoT - Data Science Africa 2019
Fundamentals of IoT - Data Science Africa 2019
Jan Jongboom
17,000 contributions in 32K RAM - FOSS North 2019
17,000 contributions in 32K RAM - FOSS North 2019
Jan Jongboom
Open Hours: Mbed Simulator
Open Hours: Mbed Simulator
Jan Jongboom
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Jan Jongboom
Machine learning on 1 cm2 - Tweakers Dev Summit
Machine learning on 1 cm2 - Tweakers Dev Summit
Jan Jongboom
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Jan Jongboom
Develop with Mbed OS - The Things Conference 2019
Develop with Mbed OS - The Things Conference 2019
Jan Jongboom
Firmware Updates over LoRaWAN - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019
Jan Jongboom
Faster Device Development - GSMA @ CES 2019
Faster Device Development - GSMA @ CES 2019
Jan Jongboom
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Jan Jongboom
Más de Jan Jongboom
(20)
TinyML on Arduino - workshop
TinyML on Arduino - workshop
Intelligent Edge - Getting started with TinyML for industrial applications
Intelligent Edge - Getting started with TinyML for industrial applications
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
Teaching your sensors new tricks with Machine Learning - Eta Compute webinar
Get started with TinyML - Embedded online conference
Get started with TinyML - Embedded online conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Adding intelligence to your LoRaWAN deployment - The Things Virtual Conference
Get started with TinyML - Hackster webinar 9 April 2020
Get started with TinyML - Hackster webinar 9 April 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020
Tiny intelligent computers and sensors - Open Hardware Event 2020
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Teaching your sensors new tricks with Machine Learning - CENSIS Tech Summit 2019
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
Adding intelligence to your LoRaWAN devices - The Things Conference on tour
Machine learning on 1 square centimeter - Emerce Next 2019
Machine learning on 1 square centimeter - Emerce Next 2019
Fundamentals of IoT - Data Science Africa 2019
Fundamentals of IoT - Data Science Africa 2019
17,000 contributions in 32K RAM - FOSS North 2019
17,000 contributions in 32K RAM - FOSS North 2019
Open Hours: Mbed Simulator
Open Hours: Mbed Simulator
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Efficient IoT solutions based on LoRaWAN, The Things Network and Mbed OS
Machine learning on 1 cm2 - Tweakers Dev Summit
Machine learning on 1 cm2 - Tweakers Dev Summit
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Simulating LoRaWAN devices - LoRa Alliance AMM 2019
Develop with Mbed OS - The Things Conference 2019
Develop with Mbed OS - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019
Firmware Updates over LoRaWAN - The Things Conference 2019
Faster Device Development - GSMA @ CES 2019
Faster Device Development - GSMA @ CES 2019
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
Mbed LoRaWAN stack: a case study - LoRa Alliance AMM Tokyo
The Architect Way - JSCamp.asia 2012
1.
THE ARCHITECT
WAY Jan Jongboom JSCamp.asia November 30, 2012, Singapore
2.
@janjongboom
3.
Program •
Cloud9? 5 minute intro + what's new • Problems growing your codebase • Introducing: Architect! • Lessons learned
4.
Normal developers
5.
JavaScript Developer
6.
OPPA CLOUD9 STYLE
7.
8.
9.
Smart code completion
10.
Static analysis
11.
Free Linux machine
12.
Real terminal
13.
Program •
Cloud9? 5 minute intro + what's new • Problems growing your codebase • Introducing: Architect! • Lessons learned
14.
Hundreds of thousands
of lines of JavaScript (with semicolons ;-))
15.
dynamic weakly-typed language
16.
one single thread
17.
18.
Modularization
19.
Black box coding
20.
21.
Great at abstracting
away
22.
Not that good
at app level abstraction
23.
Relies on filesystem •
Duplicated modules • Maps to folder / file name • Hard to configure
24.
Dependency error handling coding
time startup time run time ! OM - BO KA - Server crash - Unhappy customers - Developer gets fired
25.
Program •
Cloud9? 5 minute intro + what's new • Problems growing your codebase • Introducing: Architect! • Lessons learned
26.
Architect •
Every piece of functionality is a plugin • Plugins can consume other plugins • An application is a set of plugins
27.
Require
Runtime Architect Startup time
28.
Dependency error handling
Architect style coding time compile time run time - Happy customers - Developer keeps - Fails before release job
29.
Here’s what we
do • Code representation of this talk • Get a speaker from the database • Talk, talk, talk • And end with a dance
30.
31.
32.
33.
34.
35.
Group functions by
behavior
36.
Datalayer Presentation
37.
Dependency model Datalayer
Presentation
38.
package.json Builds dependency tree
without executing code
39.
data-‐layer/package.json presentation/package.json
40.
What’s next? •
Extract the code • Wrap in Architect plugin code • It’s simple! • Make two plugins
41.
Function signature Call when
done
42.
Architect plugin code •
Options, will get to that • Imports, everything you consume • Register, invoke when done
43.
44.
45.
46.
Dependencies
abstracted away • Easily unit testable • Mock dependencies • Assert ‘talk’ function is called 5 times
47.
48.
49.
50.
51.
No black magic •
Architect builds dependency model • Feed architect a list of plugins • Simple array with file names • Call ‘createApp’
52.
53.
54.
55.
Configuration •
Per-plugin options • No global options object • Specify in config file
56.
57.
58.
Options •
Automatically passed in at startup • Options are also dependencies • Fail if options aren’t present • Use default assertions
59.
60.
61.
Architect makes you
think of your app as chunks of functionality rather than sets of classes
62.
Think ‘chunks of functionality’
• Implicit type constraints • Keep implementation private • Swap feature implementations • Rather than interface implementations
63.
How do we
use it? • Open source version • Hosted version • Normal • FTP • SSH
64.
65.
Swap feature per
implementation • On Open source: talk local filesystem • On FTP: talk FTP library • On SSH: log in and talk via a SSH bridge
66.
HERE’S SOMETHING
COOL
67.
Centralized eventbus •
Loose coupling between plugins • No hard dependencies! • Can also do inter-context communication
68.
React on event Other
plugin Eventbus Emit event Plugin
69.
70.
71.
And now scale
up • Need something inter-server • Swap it with i.e. Redis PubSub • Plugins will never notice • Awesome!
72.
Program •
Cloud9? 5 minute intro + what's new • Problems growing your codebase • Introducing: Architect! • Lessons learned
73.
Modularize in feature
blocks • Don’t over engineer • Don’t create too small blocks • They are no interfaces!
74.
Avoid context switching
• Less code! • Less errors! • Less boilerplate!
75.
Loose coupling •
Eventbus • Smaller dependency graph
76.
github.com/c9/architect
77.
Happy coding!
78.
http://c9.io
Jan Jongboom github.com/janjongboom @janjongboom
Descargar ahora