SlideShare a Scribd company logo
1 of 20
© Equal Experts UK Ltd 2014 1
estyles of the Rich and Frameworkles
© Equal Experts UK Ltd 2014 2
Evangelise
Agenda | What I'm NOT going to do
Frameworks are GREAT!
You're more awesome if you don't use frameworks!
Too many for just the one talk
Besides, where's the fun in that...?
Solve all the Problems
Throw everything in one big file and call it a library
Design things strictly according to my own opinions
Build a framework
© Equal Experts UK Ltd 2014 3
Why should you use a Framework?
Shared experience: Your team may have been using a framework for years and have
great experience, why change now?
Ease of hiring: The more popular the framework, the more people will have exposure
to it at the required skill level
Bootstrapping your MVP: If you're working to secure your next round of venture capital
funding, you want something that works out of the box.
Speed of development (sooner): All the documentation and training materials you
need are already written and you're ready to go
Frameworks are great when time is sparse
© Equal Experts UK Ltd 2014 4
Why should you go it alone?
Specific needs: In a large organisation, infrastructure may need to serve multiple
teams with requirements particular to your domain.
Fine grained control: You can't perform delicate surgery even if you do have the best
swiss army knife.
Knowledge gaining: If your company can afford to spend the time doing so, building
things from scratch is a great way to learn.
Speed of development (later): Once things are built, with a team full of experts you
can focus on delivering value to your customers.
Build from scratch in mature organisations
© Equal Experts UK Ltd 2014 5
Introduction
Agenda | What I AM going to do
Live coding
Summary
© Equal Experts UK Ltd 2014 6
Personal reasons
Learn how frameworks hang together
Gain a greater understanding of how they achieve their goals
Measure the performance implications of certain approaches
Question the status quo, innovation comes from trying something new
Rolling your own javascript code is a lot of
FUN!
© Equal Experts UK Ltd 2014 7
Disclaimer
Security
Build tooling
Data-binding
NEVER do these things yourself
© Equal Experts UK Ltd 2014 8
Now | The fun stuff
Live coding
RoutingData-binding
(yes yes, I know what I said)
Templating
© Equal Experts UK Ltd 2014 9
Now | The fun stuff
Demo: Data-binding
© Equal Experts UK Ltd 2014 10
Data-binding - Goals
Propogate changes from the DOM to a model, and vice versa
Explicit syntax - no content parsing, special attributes etc
Use a plain old javascript viewmodel, no special types.
Bind to variables or functions – explicitly specify dependencies
Support 'Two-way' binding
© Equal Experts UK Ltd 2014 11
Now | The fun stuff
Demo: Templating
© Equal Experts UK Ltd 2014 12
Templating - Goals
Reusable single templates that allow you to 'stamp out' functionality.
Repeating groups that support iterating over data in a model
Make use of Web Components new template tag.
Support data binding within templates
© Equal Experts UK Ltd 2014 13
Now | The fun stuff
Demo: Routing
© Equal Experts UK Ltd 2014 14
Routing as a state machine
Routes are stored as a graph, that is a series of nodes connected by
edges
As we traverse the graph, segments are matched, consumed, and
possibly captured for use as parameters.
© Equal Experts UK Ltd 2014 15
Routing - Goals
Capture parameters, and execute a handler when the hash changes
Make use of operator overloading to define routes that we can hold
references to.
Work with routes that are composed hierarchically
Work with immutable data structures
Determine a path through the graph, create a sequence, then left-fold to
produce a handler and a set of parameters.
© Equal Experts UK Ltd 2014 16
Summary | Well that was pretty simple...
Summary
© Equal Experts UK Ltd 2014 17
Summary | It's not all sun and rainbows...
These implementations have a LOT of flaws
Security – None.
Test Coverage – Zero.
Performance – Not measured, presumably not great.
Error handling – What's that?
Browser compatibility – ECMAScript 5.1 (apart from template tag)
© Equal Experts UK Ltd 2014 18
Summary | However...
We learned a lot doing this
It's simple – By leaving out some of the syntactic sugar and quality of life aspects, we
can clearly see the base functionality in action.
It's extensible – This code is a great starting point for your own learning, or even for a
mature project where you need control over infrastructure.
It's not magic
Frameworks may contain a lot of code, but they can
be read, understood and reasoned about.
© Equal Experts UK Ltd 2014 19
Summary | Further reading
D.I.Y.js – A different taken on dependency injection
https://github.com/Roysvork/D.I.Y.js/
Graph based routing – More information about the approach we looked at earlier
http://superscribe.org/graphbasedrouting.html
Superscribe JS – More complete client side routing implementation (no docs)
https://github.com/Roysvork/Superscribe.js
Have a play, and let me know how you get
on!
© Equal Experts UK Ltd 2014 20
Twitter
@roysvork
Web
http://roysvork.wordpress.com
Thank you for listening!
Code on Github
github.com/roysvork/frameworkless

More Related Content

What's hot

Open Evening Slides Codaisseur
Open Evening Slides CodaisseurOpen Evening Slides Codaisseur
Open Evening Slides CodaisseurLisaScorzon
 
Buildappjsjq9:12 sd
Buildappjsjq9:12 sdBuildappjsjq9:12 sd
Buildappjsjq9:12 sdThinkful
 
Smart Development-Happy Clients
Smart Development-Happy ClientsSmart Development-Happy Clients
Smart Development-Happy ClientsAbhishek Rijal
 
The Path to Test Leadership: A Road Less Traveled
The Path to Test Leadership: A Road Less TraveledThe Path to Test Leadership: A Road Less Traveled
The Path to Test Leadership: A Road Less TraveledTechWell
 
The ABC of Coded Style Guides
The ABC of Coded Style GuidesThe ABC of Coded Style Guides
The ABC of Coded Style GuidesHenning Muszynski
 
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...SOFTENG
 
Working with WordPress as a Team
Working with WordPress as a TeamWorking with WordPress as a Team
Working with WordPress as a TeamNatanael Sinisalo
 
Codaisseur Open Evening Slides December
Codaisseur Open Evening Slides DecemberCodaisseur Open Evening Slides December
Codaisseur Open Evening Slides DecemberLisaScorzon
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450Justin Ezor
 
Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Aaron Lamphere
 
Success Snapshot Webinar
Success Snapshot Webinar  Success Snapshot Webinar
Success Snapshot Webinar Gainsight
 
Cloud foundry, Lessons Learned at The Home Depot
Cloud foundry, Lessons Learned at The Home Depot Cloud foundry, Lessons Learned at The Home Depot
Cloud foundry, Lessons Learned at The Home Depot James Watters
 

What's hot (18)

Open Evening Slides Codaisseur
Open Evening Slides CodaisseurOpen Evening Slides Codaisseur
Open Evening Slides Codaisseur
 
Buildappjsjq9:12 sd
Buildappjsjq9:12 sdBuildappjsjq9:12 sd
Buildappjsjq9:12 sd
 
Tf bawa
Tf bawaTf bawa
Tf bawa
 
Deck 6-130-441
Deck 6-130-441Deck 6-130-441
Deck 6-130-441
 
Smart Development-Happy Clients
Smart Development-Happy ClientsSmart Development-Happy Clients
Smart Development-Happy Clients
 
Ijsphx927
Ijsphx927Ijsphx927
Ijsphx927
 
The Path to Test Leadership: A Road Less Traveled
The Path to Test Leadership: A Road Less TraveledThe Path to Test Leadership: A Road Less Traveled
The Path to Test Leadership: A Road Less Traveled
 
The ABC of Coded Style Guides
The ABC of Coded Style GuidesThe ABC of Coded Style Guides
The ABC of Coded Style Guides
 
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...
The Portal Builder Story- From Hell to Lean, from zero to Cloud - Part I (Scr...
 
Working with WordPress as a Team
Working with WordPress as a TeamWorking with WordPress as a Team
Working with WordPress as a Team
 
Tf bavp
Tf bavpTf bavp
Tf bavp
 
W3Schools Quiz Test
W3Schools Quiz TestW3Schools Quiz Test
W3Schools Quiz Test
 
Codaisseur Open Evening Slides December
Codaisseur Open Evening Slides DecemberCodaisseur Open Evening Slides December
Codaisseur Open Evening Slides December
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-12-173-252-450
 
Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery Build an App with JavaScript & jQuery
Build an App with JavaScript & jQuery
 
Success Snapshot Webinar
Success Snapshot Webinar  Success Snapshot Webinar
Success Snapshot Webinar
 
Agile Management with ITPP
Agile Management with ITPPAgile Management with ITPP
Agile Management with ITPP
 
Cloud foundry, Lessons Learned at The Home Depot
Cloud foundry, Lessons Learned at The Home Depot Cloud foundry, Lessons Learned at The Home Depot
Cloud foundry, Lessons Learned at The Home Depot
 

Viewers also liked

Real World Agile at Agile in the City London
Real World Agile at Agile in the City LondonReal World Agile at Agile in the City London
Real World Agile at Agile in the City LondonEqual Experts
 
Best Kept Secret of Transformation – Release Frequently
Best Kept Secret of Transformation – Release FrequentlyBest Kept Secret of Transformation – Release Frequently
Best Kept Secret of Transformation – Release FrequentlyEqual Experts
 
Stop trying to paint the hallway through the letterbox: UX techniques that he...
Stop trying to paint the hallway through the letterbox: UX techniques that he...Stop trying to paint the hallway through the letterbox: UX techniques that he...
Stop trying to paint the hallway through the letterbox: UX techniques that he...Equal Experts
 
Common Communication Failures  (and ways to avoid them!)
Common Communication Failures  (and ways to avoid them!)Common Communication Failures  (and ways to avoid them!)
Common Communication Failures  (and ways to avoid them!)Equal Experts
 
Real-world Agile: Tricks, Traps and Tales from the Trenches
Real-world Agile: Tricks, Traps and Tales from the TrenchesReal-world Agile: Tricks, Traps and Tales from the Trenches
Real-world Agile: Tricks, Traps and Tales from the TrenchesEqual Experts
 
Anti-Usability and UX - Simon Bostock, GOTO Berlin 2014
 Anti-Usability and UX - Simon Bostock, GOTO Berlin 2014 Anti-Usability and UX - Simon Bostock, GOTO Berlin 2014
Anti-Usability and UX - Simon Bostock, GOTO Berlin 2014Equal Experts
 

Viewers also liked (8)

Real World Agile at Agile in the City London
Real World Agile at Agile in the City LondonReal World Agile at Agile in the City London
Real World Agile at Agile in the City London
 
Best Kept Secret of Transformation – Release Frequently
Best Kept Secret of Transformation – Release FrequentlyBest Kept Secret of Transformation – Release Frequently
Best Kept Secret of Transformation – Release Frequently
 
Stop trying to paint the hallway through the letterbox: UX techniques that he...
Stop trying to paint the hallway through the letterbox: UX techniques that he...Stop trying to paint the hallway through the letterbox: UX techniques that he...
Stop trying to paint the hallway through the letterbox: UX techniques that he...
 
Common Communication Failures  (and ways to avoid them!)
Common Communication Failures  (and ways to avoid them!)Common Communication Failures  (and ways to avoid them!)
Common Communication Failures  (and ways to avoid them!)
 
Real-world Agile: Tricks, Traps and Tales from the Trenches
Real-world Agile: Tricks, Traps and Tales from the TrenchesReal-world Agile: Tricks, Traps and Tales from the Trenches
Real-world Agile: Tricks, Traps and Tales from the Trenches
 
Anti-Usability and UX - Simon Bostock, GOTO Berlin 2014
 Anti-Usability and UX - Simon Bostock, GOTO Berlin 2014 Anti-Usability and UX - Simon Bostock, GOTO Berlin 2014
Anti-Usability and UX - Simon Bostock, GOTO Berlin 2014
 
Continuous Security
Continuous SecurityContinuous Security
Continuous Security
 
Continuous Security
Continuous SecurityContinuous Security
Continuous Security
 

Similar to Lifestyles of the rich and frameworkless

DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy EnvironmentsDOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy EnvironmentsGene Kim
 
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013   corneliu rimboiu - bridging java and .netIasi code camp 12 october 2013   corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .netCodecamp Romania
 
Accelerate Application Migration - August 5, 2020
Accelerate Application Migration - August 5, 2020Accelerate Application Migration - August 5, 2020
Accelerate Application Migration - August 5, 2020VMware Tanzu
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Jwooldridge
 
PureApp Presentation
PureApp PresentationPureApp Presentation
PureApp PresentationProlifics
 
Atagg2015 Where testing is moving in agile cloud world!
Atagg2015 Where testing is moving in agile cloud world!Atagg2015 Where testing is moving in agile cloud world!
Atagg2015 Where testing is moving in agile cloud world!Agile Testing Alliance
 
Lean SAP Delivery - introducing the concept
Lean SAP Delivery - introducing the conceptLean SAP Delivery - introducing the concept
Lean SAP Delivery - introducing the conceptMendel Koerts
 
Rapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPARapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPADerrick Bowen
 
TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...
TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...
TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...Trivadis
 
Launch Academy Introduction to Lean UX Workshop - February 2014
Launch Academy Introduction to Lean UX Workshop - February 2014Launch Academy Introduction to Lean UX Workshop - February 2014
Launch Academy Introduction to Lean UX Workshop - February 2014Marc Baumgartner
 
Dsg best practice guide for net suite implementation success
Dsg best practice guide for net suite implementation successDsg best practice guide for net suite implementation success
Dsg best practice guide for net suite implementation successBootstrap Marketing
 
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk:  DevOps large and small - Cambridge SatchelManchester ITExpo Talk:  DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk: DevOps large and small - Cambridge SatchelJwooldridge
 
Front End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdfFront End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdfWP Engine
 
Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?
Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?
Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?Steve Poole
 
Add usability testing to your skill set!
Add usability testing to your skill set!Add usability testing to your skill set!
Add usability testing to your skill set!dcmistry
 
Comment déployer et gérer dans le cloud Azure les environnements de développe...
Comment déployer et gérer dans le cloud Azure les environnements de développe...Comment déployer et gérer dans le cloud Azure les environnements de développe...
Comment déployer et gérer dans le cloud Azure les environnements de développe...Microsoft Technet France
 

Similar to Lifestyles of the rich and frameworkless (20)

DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy EnvironmentsDOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
DOES14 - Scott Prugh - CSG - DevOps and Lean in Legacy Environments
 
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013   corneliu rimboiu - bridging java and .netIasi code camp 12 october 2013   corneliu rimboiu - bridging java and .net
Iasi code camp 12 october 2013 corneliu rimboiu - bridging java and .net
 
Accelerate Application Migration - August 5, 2020
Accelerate Application Migration - August 5, 2020Accelerate Application Migration - August 5, 2020
Accelerate Application Migration - August 5, 2020
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
 
PureApp Presentation
PureApp PresentationPureApp Presentation
PureApp Presentation
 
Atagg2015 Where testing is moving in agile cloud world!
Atagg2015 Where testing is moving in agile cloud world!Atagg2015 Where testing is moving in agile cloud world!
Atagg2015 Where testing is moving in agile cloud world!
 
Lean SAP Delivery - introducing the concept
Lean SAP Delivery - introducing the conceptLean SAP Delivery - introducing the concept
Lean SAP Delivery - introducing the concept
 
SHAHKAR_RESUME
SHAHKAR_RESUMESHAHKAR_RESUME
SHAHKAR_RESUME
 
Rapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPARapid Prototyping and Usability Testing - HUXPA
Rapid Prototyping and Usability Testing - HUXPA
 
TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...
TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...
TechEvent 2019: Build Oracle DBaaS in the Swisscom Enterprise Cloud - but SAF...
 
Spring Framework Training Course
Spring Framework Training Course Spring Framework Training Course
Spring Framework Training Course
 
Angular JS Training Agenda
Angular JS Training AgendaAngular JS Training Agenda
Angular JS Training Agenda
 
Launch Academy Introduction to Lean UX Workshop - February 2014
Launch Academy Introduction to Lean UX Workshop - February 2014Launch Academy Introduction to Lean UX Workshop - February 2014
Launch Academy Introduction to Lean UX Workshop - February 2014
 
Dsg best practice guide for net suite implementation success
Dsg best practice guide for net suite implementation successDsg best practice guide for net suite implementation success
Dsg best practice guide for net suite implementation success
 
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk:  DevOps large and small - Cambridge SatchelManchester ITExpo Talk:  DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
 
Front End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdfFront End: Building Future-Proof eCommerce Sites.pdf
Front End: Building Future-Proof eCommerce Sites.pdf
 
Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?
Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?
Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?
 
Add usability testing to your skill set!
Add usability testing to your skill set!Add usability testing to your skill set!
Add usability testing to your skill set!
 
Par208
Par208Par208
Par208
 
Comment déployer et gérer dans le cloud Azure les environnements de développe...
Comment déployer et gérer dans le cloud Azure les environnements de développe...Comment déployer et gérer dans le cloud Azure les environnements de développe...
Comment déployer et gérer dans le cloud Azure les environnements de développe...
 

More from Equal Experts

TRUST Framework Talk 2023-03-10.pptx
TRUST Framework Talk 2023-03-10.pptxTRUST Framework Talk 2023-03-10.pptx
TRUST Framework Talk 2023-03-10.pptxEqual Experts
 
Will it matter if your child cannot code?
Will it matter if your child cannot code?Will it matter if your child cannot code?
Will it matter if your child cannot code?Equal Experts
 
Platform Security IRL: Busting Buzzwords & Building Better
Platform Security IRL:  Busting Buzzwords & Building BetterPlatform Security IRL:  Busting Buzzwords & Building Better
Platform Security IRL: Busting Buzzwords & Building BetterEqual Experts
 
Software development practices & Infrastructure as Code - how well do they wo...
Software development practices & Infrastructure as Code - how well do they wo...Software development practices & Infrastructure as Code - how well do they wo...
Software development practices & Infrastructure as Code - how well do they wo...Equal Experts
 
A Whole Team Approach to Quality in Continuous Delivery - Lisa Crispin
A Whole Team Approach to Quality in Continuous Delivery - Lisa CrispinA Whole Team Approach to Quality in Continuous Delivery - Lisa Crispin
A Whole Team Approach to Quality in Continuous Delivery - Lisa CrispinEqual Experts
 
Secure Continuous Delivery
Secure Continuous DeliverySecure Continuous Delivery
Secure Continuous DeliveryEqual Experts
 
Smoothing the continuous delivery path a tale of two architectures - expert...
Smoothing the continuous delivery path   a tale of two architectures - expert...Smoothing the continuous delivery path   a tale of two architectures - expert...
Smoothing the continuous delivery path a tale of two architectures - expert...Equal Experts
 
Embracing collaborative chaos (April 2020) by Lyndsay Prewer
Embracing collaborative chaos (April 2020) by Lyndsay PrewerEmbracing collaborative chaos (April 2020) by Lyndsay Prewer
Embracing collaborative chaos (April 2020) by Lyndsay PrewerEqual Experts
 
Design Systems: Designing out Waste, Designing in Consistency
Design Systems: Designing out Waste, Designing in ConsistencyDesign Systems: Designing out Waste, Designing in Consistency
Design Systems: Designing out Waste, Designing in ConsistencyEqual Experts
 
Growing Together - software development in the Developing world
Growing Together - software development in the Developing worldGrowing Together - software development in the Developing world
Growing Together - software development in the Developing worldEqual Experts
 
Infrastructure - a journey from datacentres to cloud
Infrastructure - a journey from datacentres to cloudInfrastructure - a journey from datacentres to cloud
Infrastructure - a journey from datacentres to cloudEqual Experts
 
Data Science In Action: Prenatal Screening for Down Syndrome
Data Science In Action: Prenatal Screening for Down SyndromeData Science In Action: Prenatal Screening for Down Syndrome
Data Science In Action: Prenatal Screening for Down SyndromeEqual Experts
 
The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...Equal Experts
 
Secrets of an agile transformation
Secrets of an agile transformationSecrets of an agile transformation
Secrets of an agile transformationEqual Experts
 
Obstacles of Digital Transformation Evolution
Obstacles of Digital Transformation EvolutionObstacles of Digital Transformation Evolution
Obstacles of Digital Transformation EvolutionEqual Experts
 
Avoiding the security brick
Avoiding the security brickAvoiding the security brick
Avoiding the security brickEqual Experts
 
Embracing collaborative chaos
Embracing collaborative chaosEmbracing collaborative chaos
Embracing collaborative chaosEqual Experts
 
Organising for Continuous Delivery
Organising for Continuous DeliveryOrganising for Continuous Delivery
Organising for Continuous DeliveryEqual Experts
 
Cracking passwords via common topologies
Cracking passwords via common topologiesCracking passwords via common topologies
Cracking passwords via common topologiesEqual Experts
 

More from Equal Experts (20)

TRUST Framework Talk 2023-03-10.pptx
TRUST Framework Talk 2023-03-10.pptxTRUST Framework Talk 2023-03-10.pptx
TRUST Framework Talk 2023-03-10.pptx
 
Will it matter if your child cannot code?
Will it matter if your child cannot code?Will it matter if your child cannot code?
Will it matter if your child cannot code?
 
Platform Security IRL: Busting Buzzwords & Building Better
Platform Security IRL:  Busting Buzzwords & Building BetterPlatform Security IRL:  Busting Buzzwords & Building Better
Platform Security IRL: Busting Buzzwords & Building Better
 
Software development practices & Infrastructure as Code - how well do they wo...
Software development practices & Infrastructure as Code - how well do they wo...Software development practices & Infrastructure as Code - how well do they wo...
Software development practices & Infrastructure as Code - how well do they wo...
 
A Whole Team Approach to Quality in Continuous Delivery - Lisa Crispin
A Whole Team Approach to Quality in Continuous Delivery - Lisa CrispinA Whole Team Approach to Quality in Continuous Delivery - Lisa Crispin
A Whole Team Approach to Quality in Continuous Delivery - Lisa Crispin
 
Secure Continuous Delivery
Secure Continuous DeliverySecure Continuous Delivery
Secure Continuous Delivery
 
Smoothing the continuous delivery path a tale of two architectures - expert...
Smoothing the continuous delivery path   a tale of two architectures - expert...Smoothing the continuous delivery path   a tale of two architectures - expert...
Smoothing the continuous delivery path a tale of two architectures - expert...
 
Embracing collaborative chaos (April 2020) by Lyndsay Prewer
Embracing collaborative chaos (April 2020) by Lyndsay PrewerEmbracing collaborative chaos (April 2020) by Lyndsay Prewer
Embracing collaborative chaos (April 2020) by Lyndsay Prewer
 
Design Systems: Designing out Waste, Designing in Consistency
Design Systems: Designing out Waste, Designing in ConsistencyDesign Systems: Designing out Waste, Designing in Consistency
Design Systems: Designing out Waste, Designing in Consistency
 
Growing Together - software development in the Developing world
Growing Together - software development in the Developing worldGrowing Together - software development in the Developing world
Growing Together - software development in the Developing world
 
Infrastructure - a journey from datacentres to cloud
Infrastructure - a journey from datacentres to cloudInfrastructure - a journey from datacentres to cloud
Infrastructure - a journey from datacentres to cloud
 
Data Science In Action: Prenatal Screening for Down Syndrome
Data Science In Action: Prenatal Screening for Down SyndromeData Science In Action: Prenatal Screening for Down Syndrome
Data Science In Action: Prenatal Screening for Down Syndrome
 
The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...
 
Secrets of an agile transformation
Secrets of an agile transformationSecrets of an agile transformation
Secrets of an agile transformation
 
Obstacles of Digital Transformation Evolution
Obstacles of Digital Transformation EvolutionObstacles of Digital Transformation Evolution
Obstacles of Digital Transformation Evolution
 
Avoiding the security brick
Avoiding the security brickAvoiding the security brick
Avoiding the security brick
 
Embracing collaborative chaos
Embracing collaborative chaosEmbracing collaborative chaos
Embracing collaborative chaos
 
Continuous Security
Continuous SecurityContinuous Security
Continuous Security
 
Organising for Continuous Delivery
Organising for Continuous DeliveryOrganising for Continuous Delivery
Organising for Continuous Delivery
 
Cracking passwords via common topologies
Cracking passwords via common topologiesCracking passwords via common topologies
Cracking passwords via common topologies
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

Lifestyles of the rich and frameworkless

  • 1. © Equal Experts UK Ltd 2014 1 estyles of the Rich and Frameworkles
  • 2. © Equal Experts UK Ltd 2014 2 Evangelise Agenda | What I'm NOT going to do Frameworks are GREAT! You're more awesome if you don't use frameworks! Too many for just the one talk Besides, where's the fun in that...? Solve all the Problems Throw everything in one big file and call it a library Design things strictly according to my own opinions Build a framework
  • 3. © Equal Experts UK Ltd 2014 3 Why should you use a Framework? Shared experience: Your team may have been using a framework for years and have great experience, why change now? Ease of hiring: The more popular the framework, the more people will have exposure to it at the required skill level Bootstrapping your MVP: If you're working to secure your next round of venture capital funding, you want something that works out of the box. Speed of development (sooner): All the documentation and training materials you need are already written and you're ready to go Frameworks are great when time is sparse
  • 4. © Equal Experts UK Ltd 2014 4 Why should you go it alone? Specific needs: In a large organisation, infrastructure may need to serve multiple teams with requirements particular to your domain. Fine grained control: You can't perform delicate surgery even if you do have the best swiss army knife. Knowledge gaining: If your company can afford to spend the time doing so, building things from scratch is a great way to learn. Speed of development (later): Once things are built, with a team full of experts you can focus on delivering value to your customers. Build from scratch in mature organisations
  • 5. © Equal Experts UK Ltd 2014 5 Introduction Agenda | What I AM going to do Live coding Summary
  • 6. © Equal Experts UK Ltd 2014 6 Personal reasons Learn how frameworks hang together Gain a greater understanding of how they achieve their goals Measure the performance implications of certain approaches Question the status quo, innovation comes from trying something new Rolling your own javascript code is a lot of FUN!
  • 7. © Equal Experts UK Ltd 2014 7 Disclaimer Security Build tooling Data-binding NEVER do these things yourself
  • 8. © Equal Experts UK Ltd 2014 8 Now | The fun stuff Live coding RoutingData-binding (yes yes, I know what I said) Templating
  • 9. © Equal Experts UK Ltd 2014 9 Now | The fun stuff Demo: Data-binding
  • 10. © Equal Experts UK Ltd 2014 10 Data-binding - Goals Propogate changes from the DOM to a model, and vice versa Explicit syntax - no content parsing, special attributes etc Use a plain old javascript viewmodel, no special types. Bind to variables or functions – explicitly specify dependencies Support 'Two-way' binding
  • 11. © Equal Experts UK Ltd 2014 11 Now | The fun stuff Demo: Templating
  • 12. © Equal Experts UK Ltd 2014 12 Templating - Goals Reusable single templates that allow you to 'stamp out' functionality. Repeating groups that support iterating over data in a model Make use of Web Components new template tag. Support data binding within templates
  • 13. © Equal Experts UK Ltd 2014 13 Now | The fun stuff Demo: Routing
  • 14. © Equal Experts UK Ltd 2014 14 Routing as a state machine Routes are stored as a graph, that is a series of nodes connected by edges As we traverse the graph, segments are matched, consumed, and possibly captured for use as parameters.
  • 15. © Equal Experts UK Ltd 2014 15 Routing - Goals Capture parameters, and execute a handler when the hash changes Make use of operator overloading to define routes that we can hold references to. Work with routes that are composed hierarchically Work with immutable data structures Determine a path through the graph, create a sequence, then left-fold to produce a handler and a set of parameters.
  • 16. © Equal Experts UK Ltd 2014 16 Summary | Well that was pretty simple... Summary
  • 17. © Equal Experts UK Ltd 2014 17 Summary | It's not all sun and rainbows... These implementations have a LOT of flaws Security – None. Test Coverage – Zero. Performance – Not measured, presumably not great. Error handling – What's that? Browser compatibility – ECMAScript 5.1 (apart from template tag)
  • 18. © Equal Experts UK Ltd 2014 18 Summary | However... We learned a lot doing this It's simple – By leaving out some of the syntactic sugar and quality of life aspects, we can clearly see the base functionality in action. It's extensible – This code is a great starting point for your own learning, or even for a mature project where you need control over infrastructure. It's not magic Frameworks may contain a lot of code, but they can be read, understood and reasoned about.
  • 19. © Equal Experts UK Ltd 2014 19 Summary | Further reading D.I.Y.js – A different taken on dependency injection https://github.com/Roysvork/D.I.Y.js/ Graph based routing – More information about the approach we looked at earlier http://superscribe.org/graphbasedrouting.html Superscribe JS – More complete client side routing implementation (no docs) https://github.com/Roysvork/Superscribe.js Have a play, and let me know how you get on!
  • 20. © Equal Experts UK Ltd 2014 20 Twitter @roysvork Web http://roysvork.wordpress.com Thank you for listening! Code on Github github.com/roysvork/frameworkless