SlideShare uma empresa Scribd logo
1 de 60
Dynamic package loading
and routing with Ext JS
Nils Dehl
1
Karlsruhe, 10.04.2019
Nils Dehl
• JavaScript Consultant and Trainer
• over 10 years Ext JS experience
• Sencha MVP
• @nilsdehl
• nils.dehl@dkd.de
• https://github.com/mrsunshine
2
Routing
3
4
5
6
http://domain.tld/#person/1234
7
8
9
10
http://localhost:3000/#login
11
12Coworkee/client/app/view/viewport/ViewportController.js
13
me.redirectTo('login', {replace: true});
Coworkee/client/app/view/viewport/ViewportController.js
14Coworkee/client/app/Application.js
15
16
http://lh:3000/#person/2342
17
18Coworkee/client/app/view/main/MainController.js
19Coworkee/client/app/view/viewport/ViewportController.js
20Coworkee/client/app/view/viewport/ViewportController.js
21
22Coworkee/client/app/view/viewport/ViewportController.js
23
24Coworkee/client/packages/local/coworkee-widgets/src/BrowseController.js
25
http://lh:3000/#home|range/past
26
27Coworkee/client/packages/local/Home/src/HomeController.js
Coworkee/client/app/view/main/MainController.js
28Coworkee/client/app/view/viewport/ViewportController.js
Packages
29
30
31
32
sencha generate package --namespace App.view.auth Auth
33
34
35Coworkee/client/packages/local/Auth/package.json
36Coworkee/client/app.json
37Coworkee/client/packages/local/History/package.json
38Coworkee/client/packages/local/coworkee/package.json
39
sencha package build
40
41
sencha package repo init -name “dkd" -email “nd@dkd.de”
42
sencha package add coworkee.pkg
Dynamic Package Loading
43
44
Ext JS Version < 6.5
45
requires: [
“package-loader”
]
46
47
sencha generate package -require Home 
then generate package -require Office 
then generate package -require Organization 
then generate package -require Person 
then generate package -require History
48Coworkee/client/app.json
49
sencha app build —uses
50
51
52Coworkee/client/app/view/main/MainController.js
53Coworkee/client/app/view/main/MainController.js
54
55Coworkee/client/app/view/main/MainController.js
56Coworkee/client/app/view/main/MainController.js
Resources
57
Coworkee Example App:
https://github.com/mrsunshine/Coworkee
Routing Guide:
https://docs.sencha.com/extjs/6.7.0/guides/application_architecture/router.html
Ext.route.Router:
https://docs.sencha.com/extjs/6.7.0/classic/Ext.route.Router.html
Dynamic Package Loading Blog Post:
https://mitchellsimoens.com/2017/04/12/package-loading/
Ext.Package:
https://docs.sencha.com/extjs/6.7.0/classic/Ext.Package.html
dkd sagt Danke
dkd Internet Service GmbH
Kaiserstraße 73, 60329 Frankfurt am Main
58
Quelle: Matthias Dörzbacher, dkd Internet Service GmbH
59
Nils Dehl
• JavaScript Consultant and Trainer
• over 10 years Ext JS experience
• Sencha MVP
• @nilsdehl
• nils.dehl@dkd.de
• https://github.com/mrsunshine
60

Mais conteúdo relacionado

Mais procurados

Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
TO THE NEW | Technology
 
Schema Design
Schema DesignSchema Design
Schema Design
MongoDB
 

Mais procurados (20)

Full Stack Visualization: Build A React App With A Sankey Diagram
Full Stack Visualization: Build A React App With A Sankey DiagramFull Stack Visualization: Build A React App With A Sankey Diagram
Full Stack Visualization: Build A React App With A Sankey Diagram
 
An introduction to Apache Thrift
An introduction to Apache ThriftAn introduction to Apache Thrift
An introduction to Apache Thrift
 
Dockerfile
Dockerfile Dockerfile
Dockerfile
 
Découverte de Elastic search
Découverte de Elastic searchDécouverte de Elastic search
Découverte de Elastic search
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
What is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.xWhat is new in Notes & Domino Deleopment V10.x
What is new in Notes & Domino Deleopment V10.x
 
Apache Hive
Apache HiveApache Hive
Apache Hive
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
 
From Zero to Docker
From Zero to DockerFrom Zero to Docker
From Zero to Docker
 
Базы данных в 2020
Базы данных в 2020Базы данных в 2020
Базы данных в 2020
 
How to Import JSON Using Cypher and APOC
How to Import JSON Using Cypher and APOCHow to Import JSON Using Cypher and APOC
How to Import JSON Using Cypher and APOC
 
Docker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting TechniquesDocker Networking - Common Issues and Troubleshooting Techniques
Docker Networking - Common Issues and Troubleshooting Techniques
 
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
Dockerfile Tutorial with Example | Creating your First Dockerfile | Docker Tr...
 
IBM Notes Performance Boost - Reloaded (DEV-1185)
IBM Notes Performance Boost - Reloaded (DEV-1185)IBM Notes Performance Boost - Reloaded (DEV-1185)
IBM Notes Performance Boost - Reloaded (DEV-1185)
 
Introduction to Sightly and Sling Models
Introduction to Sightly and Sling ModelsIntroduction to Sightly and Sling Models
Introduction to Sightly and Sling Models
 
Observability with Consul Connect
Observability with Consul ConnectObservability with Consul Connect
Observability with Consul Connect
 
MongoDB 101
MongoDB 101MongoDB 101
MongoDB 101
 
Intro to Map Reduce
Intro to Map ReduceIntro to Map Reduce
Intro to Map Reduce
 
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
HCL Domino 14 - Leap 1.1.2 - DNUG Stammtisch Wien
 
Schema Design
Schema DesignSchema Design
Schema Design
 

Semelhante a Dynamic package loading 
and routing with Ext JS

Single page applications mit asp.net mvc und der asp.net web api
Single page applications mit asp.net mvc und der asp.net web apiSingle page applications mit asp.net mvc und der asp.net web api
Single page applications mit asp.net mvc und der asp.net web api
Alexander Zeitler
 
ASPC 2015 - Building JavaScript to Stand the Test of Time
ASPC 2015 - Building JavaScript to Stand the Test of TimeASPC 2015 - Building JavaScript to Stand the Test of Time
ASPC 2015 - Building JavaScript to Stand the Test of Time
Marc D Anderson
 
resume_2016_low_rez
resume_2016_low_rezresume_2016_low_rez
resume_2016_low_rez
James Gray
 

Semelhante a Dynamic package loading 
and routing with Ext JS (20)

Web Applications with AngularJS
Web Applications with AngularJSWeb Applications with AngularJS
Web Applications with AngularJS
 
Single page applications mit asp.net mvc und der asp.net web api
Single page applications mit asp.net mvc und der asp.net web apiSingle page applications mit asp.net mvc und der asp.net web api
Single page applications mit asp.net mvc und der asp.net web api
 
ASPC 2015 - Building JavaScript to Stand the Test of Time
ASPC 2015 - Building JavaScript to Stand the Test of TimeASPC 2015 - Building JavaScript to Stand the Test of Time
ASPC 2015 - Building JavaScript to Stand the Test of Time
 
Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...Max Voloshin - "Organization of frontend development for products with micros...
Max Voloshin - "Organization of frontend development for products with micros...
 
Karlsruher Entwicklertag 2013 - Webanwendungen mit AngularJS
Karlsruher Entwicklertag 2013 - Webanwendungen mit AngularJSKarlsruher Entwicklertag 2013 - Webanwendungen mit AngularJS
Karlsruher Entwicklertag 2013 - Webanwendungen mit AngularJS
 
Front End Development for Back End Developers - Denver Startup Week 2017
Front End Development for Back End Developers - Denver Startup Week 2017Front End Development for Back End Developers - Denver Startup Week 2017
Front End Development for Back End Developers - Denver Startup Week 2017
 
resume_2016_low_rez
resume_2016_low_rezresume_2016_low_rez
resume_2016_low_rez
 
DCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application PackagesDCEU 18: App-in-a-Box with Docker Application Packages
DCEU 18: App-in-a-Box with Docker Application Packages
 
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en AzureGapand 2017 - Diseñando Arquitecturas Serverless en Azure
Gapand 2017 - Diseñando Arquitecturas Serverless en Azure
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
 
Microsoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needsMicrosoft Graph: Connect to essential data every app needs
Microsoft Graph: Connect to essential data every app needs
 
GDG Ibadan #pwa
GDG Ibadan #pwaGDG Ibadan #pwa
GDG Ibadan #pwa
 
ResumeWithPassport
ResumeWithPassportResumeWithPassport
ResumeWithPassport
 
Consumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice ArchitectureConsumer Driven Contracts and Your Microservice Architecture
Consumer Driven Contracts and Your Microservice Architecture
 
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
 
RESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web DesignRESS: An Evolution of Responsive Web Design
RESS: An Evolution of Responsive Web Design
 
qadeer intern report.pdf
qadeer intern report.pdfqadeer intern report.pdf
qadeer intern report.pdf
 
That’s not your var – JavaScript best practices for C# developers
That’s not your var – JavaScript best practices for C# developersThat’s not your var – JavaScript best practices for C# developers
That’s not your var – JavaScript best practices for C# developers
 
Rest to Graphql
Rest to GraphqlRest to Graphql
Rest to Graphql
 
European SharePoint Conference 2018 - Build an intelligent application by con...
European SharePoint Conference 2018 - Build an intelligent application by con...European SharePoint Conference 2018 - Build an intelligent application by con...
European SharePoint Conference 2018 - Build an intelligent application by con...
 

Mais de Nils Dehl

Mais de Nils Dehl (7)

Sencha Touch meets TYPO3 CMS
Sencha Touch meets TYPO3 CMSSencha Touch meets TYPO3 CMS
Sencha Touch meets TYPO3 CMS
 
jsday.it - develop and test custom components for sencha touch by nils dehl
jsday.it - develop and test custom components for sencha touch by nils dehljsday.it - develop and test custom components for sencha touch by nils dehl
jsday.it - develop and test custom components for sencha touch by nils dehl
 
Sencha Touch meets TYPO3
Sencha Touch meets TYPO3Sencha Touch meets TYPO3
Sencha Touch meets TYPO3
 
Workshop getting started with sencha touch 2 - nils dehl
Workshop   getting started with sencha touch 2 - nils dehlWorkshop   getting started with sencha touch 2 - nils dehl
Workshop getting started with sencha touch 2 - nils dehl
 
SenchaTouch 2 and Sencha.io
SenchaTouch 2 and Sencha.ioSenchaTouch 2 and Sencha.io
SenchaTouch 2 and Sencha.io
 
SenchaCon 2011 VGF Showcase
SenchaCon 2011 VGF ShowcaseSenchaCon 2011 VGF Showcase
SenchaCon 2011 VGF Showcase
 
Development of the TYPO3 Phoenix User Interface with Ext JS
Development of the TYPO3 Phoenix User Interface with Ext JSDevelopment of the TYPO3 Phoenix User Interface with Ext JS
Development of the TYPO3 Phoenix User Interface with Ext JS
 

Último

Último (20)

Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purityAPVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
A Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data MigrationA Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data Migration
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 

Dynamic package loading 
and routing with Ext JS

Notas do Editor

  1. Routing Packages dynamic package loading
  2. Who is using routing?
  3. Single Page Applications no Page loads no History Back Button leaves app
  4. Example app Coworkee based on Sencha, extend, on GitHub Track app state bookmark / email make app stateful open specific state view of an SPA app routing should not be used to store any data or session
  5. Fragment Identifier control the history stack of the browser without reloading the current page
  6. history stack of an SPA
  7. back and forward button working
  8. the ext router lets look how routing works
  9. start with the login route
  10. action file Path on slide in the footer slides will be shared
  11. replace When set to true, this will replace the current resource in the history stack with the hash being set. force Even if the hash will not change, setting this to true will force the Ext.route.Router to react.
  12. defaultToken
  13. default route #home
  14. routes with params
  15. load a person see url in footer
  16. before
  17. un matched route
  18. onRouteChange Event add search filter to route
  19. control add listener “routechange”
  20. Multi route Pipe |
  21. wildcard Ext.History.getToken()
  22. Share code between applications reusability structure sharing (Package Repository / Github ) Ext core / themes / fonts / components scheduler or gant/ custom code who is using?
  23. core modern / classic themes fonts ux / google
  24. app packages local remote
  25. generate package via Sencha CMD
  26. theme require uses
  27. require other packages / dependencies
  28. inside of package folder
  29. local repo init host repo on http get example nexus
  30. add to local repo from build folder
  31. reduce initial load size for big apps Load on demand user rights who is using?
  32. require package-loader package in app.josn
  33. modules as packages before it was all in app
  34. theme require uses