SlideShare a Scribd company logo
ONE FRAMEWORK TO RULE
THEM ALL
SIRAR SALIH
SOFTWARE ENGINEER
About me
C++
2D Games
Algorithms
C#
.NET
Desktop apps
Web apps
HTML 5
JavaScript
Web apps
About me
HTML enhanced for web apps!
One Framework to Rule Them All
GET (once)
POST (later)
From wikipedia
• Directives
– Powerful, Angular-only feature
– Simplify DOM manipulation by reusable custom functionality
• Data binding
– Models
• Controllers
– Behavior
– Avoid DOM manipulation
• Form validation
– Easy client-side validation
• Localization
– Filter directives
• Testability
– Designed to be testable
– Easy dependency injection
• +++
«With great power, comes great responsibility.» – Uncle Ben
• Module
– Sub-modules
• Controller
• Directive
• Service
– Data
• Service
– Data
Demo time!
Best Practices
Naming Conventions
• File naming
– mainCtrl.js
– mainSvc.js
– mainDirective.js
• JavaScript
– mainController
– mainService
– mainDirective
• HTML
– <main-directive></main-directive>
Design Patterns
• Feature Pattern
– Break into feature folders
Design Patterns
• Enterprise Pattern
– Break into component folders
Design Patterns
• App Pattern
– Break into module folders
TDD All the Way
«With great power, comes great responsibility.» – Uncle Ben
• Jasmine
«With great power, comes great responsibility.» – Uncle Ben
• Jasmine
«With great power, comes great responsibility.» – Uncle Ben
• Jasmine
«With great power, comes great responsibility.» – Uncle Ben
• Karma test runner
«With great power, comes great responsibility.» – Uncle Ben
• Karma test runner
«With great power, comes great responsibility.» – Uncle Ben
• Karma coverage (Istanbul plugin)
«With great power, comes great responsibility.» – Uncle Ben
• Karma coverage (Istanbul plugin)
Test Automation
«With great power, comes great responsibility.» – Uncle Ben
«With great power, comes great responsibility.» – Uncle Ben
• Grunt
«With great power, comes great responsibility.» – Uncle Ben
• Karma TeamCity (TeamCity plugin)
«With great power, comes great responsibility.» – Uncle Ben
• Karma TeamCity (TeamCity plugin)
«With great power, comes great responsibility.» – Uncle Ben
• Karma TeamCity (TeamCity plugin)
«With great power, comes great responsibility.» – Uncle Ben
• Karma coverage (Istanbul plugin)
Thank you  / Questions?
Blog: http://sirars.com/
• sirar.salih@itera.no / sirars@gmail.com
• @SirarSalih
One Framework to Rule Them All

More Related Content

What's hot (6)

PPTX
A Symphony of Lambdas with AWS Step Functions
Paul Chin Jr.
 
PDF
Rubyslava beyond the_monolith
olahmichal
 
PPTX
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
OpenCredo
 
PDF
Reactive All the Way Down the Stack
Steve Pember
 
KEY
Scaling small apps
Michael Brunton-Spall
 
PDF
Creating Hyper Performant Web Apps with React
Jp DeVries
 
A Symphony of Lambdas with AWS Step Functions
Paul Chin Jr.
 
Rubyslava beyond the_monolith
olahmichal
 
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
OpenCredo
 
Reactive All the Way Down the Stack
Steve Pember
 
Scaling small apps
Michael Brunton-Spall
 
Creating Hyper Performant Web Apps with React
Jp DeVries
 

More from Sirar Salih (8)

PPTX
Azure Table Storage: The Good, the Bad, the Ugly (15 min. lightning talk)
Sirar Salih
 
PPTX
Azure Table Storage: The Good, the Bad, the Ugly (full talk)
Sirar Salih
 
PPTX
Azure Table Storage: The Good, the Bad, the Ugly (10 min. lightning talk)
Sirar Salih
 
PPTX
Angular 2 + TypeScript = true. Let's Play!
Sirar Salih
 
PPTX
Test Driving AngularJS
Sirar Salih
 
PPTX
Introduction to WPF and MVVM
Sirar Salih
 
PPTX
Clean Code
Sirar Salih
 
PPTX
Angularfying Your ASP.NET MVC APP
Sirar Salih
 
Azure Table Storage: The Good, the Bad, the Ugly (15 min. lightning talk)
Sirar Salih
 
Azure Table Storage: The Good, the Bad, the Ugly (full talk)
Sirar Salih
 
Azure Table Storage: The Good, the Bad, the Ugly (10 min. lightning talk)
Sirar Salih
 
Angular 2 + TypeScript = true. Let's Play!
Sirar Salih
 
Test Driving AngularJS
Sirar Salih
 
Introduction to WPF and MVVM
Sirar Salih
 
Clean Code
Sirar Salih
 
Angularfying Your ASP.NET MVC APP
Sirar Salih
 
Ad

Recently uploaded (20)

PDF
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
 
PPTX
Reimaginando la Ciberdefensa: De Copilots a Redes de Agentes
Cristian Garcia G.
 
PDF
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
PDF
TrustArc Webinar - Navigating APAC Data Privacy Laws: Compliance & Challenges
TrustArc
 
PDF
My Journey from CAD to BIM: A True Underdog Story
Safe Software
 
PPTX
Smart Factory Monitoring IIoT in Machine and Production Operations.pptx
Rejig Digital
 
PDF
Next level data operations using Power Automate magic
Andries den Haan
 
PDF
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
PDF
DoS Attack vs DDoS Attack_ The Silent Wars of the Internet.pdf
CyberPro Magazine
 
PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PDF
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
PDF
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
PPTX
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
PPTX
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
PDF
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
PDF
Bridging CAD, IBM TRIRIGA & GIS with FME: The Portland Public Schools Case
Safe Software
 
Automating the Geo-Referencing of Historic Aerial Photography in Flanders
Safe Software
 
Reimaginando la Ciberdefensa: De Copilots a Redes de Agentes
Cristian Garcia G.
 
How to Comply With Saudi Arabia’s National Cybersecurity Regulations.pdf
Bluechip Advanced Technologies
 
TrustArc Webinar - Navigating APAC Data Privacy Laws: Compliance & Challenges
TrustArc
 
My Journey from CAD to BIM: A True Underdog Story
Safe Software
 
Smart Factory Monitoring IIoT in Machine and Production Operations.pptx
Rejig Digital
 
Next level data operations using Power Automate magic
Andries den Haan
 
ArcGIS Utility Network Migration - The Hunter Water Story
Safe Software
 
DoS Attack vs DDoS Attack_ The Silent Wars of the Internet.pdf
CyberPro Magazine
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
Simplify Your FME Flow Setup: Fault-Tolerant Deployment Made Easy with Packer...
Safe Software
 
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Poster...
Michele Kryston
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
Enabling the Digital Artisan – keynote at ICOCI 2025
Alan Dix
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
Bridging CAD, IBM TRIRIGA & GIS with FME: The Portland Public Schools Case
Safe Software
 
Ad

One Framework to Rule Them All