SlideShare uma empresa Scribd logo
© 2016 Sencha Inc
Build Modern WebApps with ECMAScript 2015
and Sencha Visual Studio Code Plugin
Sandeep Adwankar
Sr. Product Manager
© 2016 Sencha Inc
More developers use JavaScript (ECMAScript) than any
other language
0% 10% 20% 30% 40% 50% 60%
JavaScript
SQL
Java
C#
PHP
Python
C++
C
Node JS
Angular JS
Ruby
Objective-C
Stack Overflow Developer Survey, March 2016
© 2016 Sencha Inc
ECMAScript Evolution
© 2016 Sencha Inc
ES5 Compatibility
© 2016 Sencha Inc
ES2015 features
• Block scoped constructs
• Default parameters
• Template Literals
• Arrow functions
• For of loop
• Promises
• Classes
• Modules
• New Methods
• …
© 2016 Sencha Inc
ES2015 Compatibility
Windows 7http://kangax.github.io/compat-table/es6/
© 2016 Sencha Inc
Building ES2015 apps
Build Tools
Cmd 6.5
Dev
Environment
Sencha VS Code
Plugin
Build
JavaScript
Framework –
Ext JS 6.0
Create
© 2016 Sencha Inc
Building ES2015 apps with Cmd 6.5
Command Line
Tools
Cmd 6.5
Dev
Environment
Sencha VS Code
Plugin
Build
JavaScript
Framework
Ext JS 6.0
Create
© 2016 Sencha Inc
Sencha Cmd 6.5
• Support for ES 6
- Use new language features (arrow functions,
classes, default params, …)
- Works with ExtJS today
- Limitations (addressed in Ext JS Next):
• Can’t extend ExtJS components via native classes
• No support for import
- Implemented via Closure Compiler
• Support for Progressive Web Apps via
automatic service worker generation
9
© 2016 Sencha Inc
ES2015 support in Sencha Cmd 6.5
• This will require tooling. Our frameworks have to
deal with legacy browsers.
• Sencha will need a transpiler to compile back to
old fashioned ES5 code.
• Our goal is to let your ES2015 code run together
with the Sencha framework code.
• Cmd is Java based! With Sencha Cmd 6.5, code
gets transpiled! Under the hood, we will use
Google Closure Compiler. (We replaced Rhino)
© 2016 Sencha Inc
Building ES2015 apps with Sencha VS Code Plugin
Command Line
Tools
Dev
Environment
Sencha
VSCode Plugin
Build
JavaScript
Framework Create
© 2016 Sencha Inc
Visual Studio Code Plugin 1.0
Sencha plugin for the fastest growing
source editor – Microsoft’s VS Code
• Code generation
• Code completion
• Code navigation
• Inspection & refactoring
• Documentation lookup
12
© 2016 Sencha Inc
Sencha Visual Studio Code Plugin
• Intellisense
• Code Generation
• Code Navigation
• Command Line Tools
• Documentation Lookup
• Debugging
© 2016 Sencha Inc
TernJS
Eclipse Visual Studio IDE VS Code
Ext JS
Sencha Cmd
Sencha Visual Studio Code Plugin Architecture
Provides language services
© 2016 Sencha Inc
IntelliSense – Code Completion
• Properties
• Keys in Configs
• xtypes
• Events
© 2016 Sencha Inc
Code Navigation
Supports code navigation for
• class name
• xtypes and other type aliases
• methods and properties
• config keys
• events
© 2016 Sencha Inc
Documentation Lookup
Supports documentation lookup (F1)
for Ext JS
• class name
• xtypes and other type aliases
• methods and properties
• config keys
• events
© 2016 Sencha Inc
Code Generation - Create New Ext JS App
© 2016 Sencha Inc
Integration with Sencha Cmd
• Watch app source code for changes
• Rebuild outputs
• Web Server is started and hosts app
• See compilation errors as they happen
© 2016 Sencha Inc
Debugging Ext JS Apps
• Microsoft’s “Debugger for Chrome”
extension
• Launch Chrome browser with remote
debugging enabled
• Attach extension to the browser
• Start debugging F5
© 2016 Sencha Inc
Cmd 6.5 and VS Code
Demo
21
© 2016 Sencha Inc
Building ECMAScript 2015 apps on Mobile
Command Line
Tools
Cmd 6.5
Dev
Environment
Sencha VS Code
Plugin
Build
JavaScript
Framework
Ext JS 6.0
Create
Cordova
• HTML, CSS, JS
• Resources
• Configuration
• Platform code
• Plugin code
© 2016 Sencha Inc
What is Apache Cordova?
• Open-source framework
• Hosted webview
• Single, shared codebase
deployed to all targets
• Plugins provide a common JS
API to access device capabilities
• About 6% of apps in stores
(13% in enterprise)
Native Wrapper
<webview>
Your JavaScript App
Cordova Plugin JS API
© 2016 Sencha Inc
Sencha Cmd for Cordova Apps
24
• Build Profiles for hybrid apps
• Preparing Cordova platform builds
• Build, Emulate and run app on device
© 2016 Sencha Inc
ES2015 and Cordova
Demo
25
© 2016 Sencha Inc
Pushing ECMAScript 2015 Code to Mobile
Command Line
Tools
Cmd 6.5
Dev
Environment
Sencha VS Code
Plugin
Build
JavaScript
Framework
Ext JS 6.0
Create
Cordova
• HTML, CSS, JS
• Resources
• Configuration
• Platform code
• Plugin code
JavaScript
Code Push
• HTML, CSS, JS
NEW
CodePush uploads your JavaScript
package to the cloud (Azure)
After building your Sencha app, run:
$ cd cordova
$ code-push release-cordova [app] [platform]
Phone asks, “Hey, Azure! Do you
have an update for me?”
Azure says, “Yup! Here’s a ZIP
with all the web assets.”
Code-Push extracts ZIP and
replaces the contents of /www
Code Push Workflow
App Store Policy
© 2016 Sencha Inc
Code Push ES2015
Demo
29
© 2016 Sencha Inc
Q & A
30
© 2016 Sencha Inc
Building Ext JS Apps with ECMAScript 2015
Using Sencha Visual Studio Code Plugin
Sandeep Adwankar
Sr. Product Manager
© 2016 Sencha Inc
Code Generation - Template Creation
• Classes
• Views
• View Models
• View Controllers
• Models
• Controllers
• Stores
© 2016 Sencha Inc
Not all ES2015 features are new to Ext devs
Some of these new ES2015 features already exist for years in Ext JS, and
they are more advanced.
ES2015
Tagged Template Templates
Ext
Ext.XTemplate
Object.is() Ext.Object.equals()
Object.assign() Ext.apply()
Promises Ext.Promise
Classes Ext.Base
Modules Ext.Loader

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Green house effect
Green house effectGreen house effect
Green house effect
 
The Path To Success With Graph Database and Analytics
The Path To Success With Graph Database and AnalyticsThe Path To Success With Graph Database and Analytics
The Path To Success With Graph Database and Analytics
 
Food waste and food processing waste for renewable energy production
Food waste and food processing waste for renewable energy productionFood waste and food processing waste for renewable energy production
Food waste and food processing waste for renewable energy production
 
Github PowerPoint Final
Github PowerPoint FinalGithub PowerPoint Final
Github PowerPoint Final
 
Impact of Climate Change on Agriculture
Impact of Climate Change on AgricultureImpact of Climate Change on Agriculture
Impact of Climate Change on Agriculture
 
African Energy Chamber: The State of African Energy Q1 2023 Outlook Report
African Energy Chamber: The State of African Energy Q1 2023 Outlook ReportAfrican Energy Chamber: The State of African Energy Q1 2023 Outlook Report
African Energy Chamber: The State of African Energy Q1 2023 Outlook Report
 
Better than you think: Handling JSON data in ClickHouse
Better than you think: Handling JSON data in ClickHouseBetter than you think: Handling JSON data in ClickHouse
Better than you think: Handling JSON data in ClickHouse
 
Webinar: Strength in Numbers: Introduction to ClickHouse Cluster Performance
Webinar: Strength in Numbers: Introduction to ClickHouse Cluster PerformanceWebinar: Strength in Numbers: Introduction to ClickHouse Cluster Performance
Webinar: Strength in Numbers: Introduction to ClickHouse Cluster Performance
 
Presentation on Global Warming
Presentation on Global WarmingPresentation on Global Warming
Presentation on Global Warming
 
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
 
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdfDeep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
 
Git l'essentiel
Git l'essentielGit l'essentiel
Git l'essentiel
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
 
Scale Your Mission-Critical Applications With Neo4j Fabric and Clustering Arc...
Scale Your Mission-Critical Applications With Neo4j Fabric and Clustering Arc...Scale Your Mission-Critical Applications With Neo4j Fabric and Clustering Arc...
Scale Your Mission-Critical Applications With Neo4j Fabric and Clustering Arc...
 
sustainabledevelopment.pptx
sustainabledevelopment.pptxsustainabledevelopment.pptx
sustainabledevelopment.pptx
 
Biogas Generation as a Means to Boost Self sufficiency of a Rural Settlement ...
Biogas Generation as a Means to Boost Self sufficiency of a Rural Settlement ...Biogas Generation as a Means to Boost Self sufficiency of a Rural Settlement ...
Biogas Generation as a Means to Boost Self sufficiency of a Rural Settlement ...
 
Graph Analytics with ArangoDB
Graph Analytics with ArangoDBGraph Analytics with ArangoDB
Graph Analytics with ArangoDB
 
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEOClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
 
Combining a Knowledge Graph and Graph Algorithms to Find Hidden Skills at NASA
Combining a Knowledge Graph and Graph Algorithms to Find Hidden Skills at NASACombining a Knowledge Graph and Graph Algorithms to Find Hidden Skills at NASA
Combining a Knowledge Graph and Graph Algorithms to Find Hidden Skills at NASA
 
H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP server
 

Semelhante a Building ext js apps with ES2015 using sencha visual studio code plugin

Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu-DDsmile-2015.1.25Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu
 

Semelhante a Building ext js apps with ES2015 using sencha visual studio code plugin (20)

Sencha Tooling - Senchacon Conference
Sencha Tooling  - Senchacon ConferenceSencha Tooling  - Senchacon Conference
Sencha Tooling - Senchacon Conference
 
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
SenchaCon 2016: Cross-Platform Mobile App Development with Cordova and Visual...
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET Core
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD Pipelines
 
BelTech 2017 - Building Quality in the Browser
BelTech 2017 - Building Quality in the BrowserBelTech 2017 - Building Quality in the Browser
BelTech 2017 - Building Quality in the Browser
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
MiM asp.net core
MiM asp.net coreMiM asp.net core
MiM asp.net core
 
Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu-DDsmile-2015.1.25Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu-DDsmile-2015.1.25
 
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
 
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
 
ExtJS: La piattaforma vincente (tools)
ExtJS: La piattaforma vincente (tools)ExtJS: La piattaforma vincente (tools)
ExtJS: La piattaforma vincente (tools)
 
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
 
Sr sofwareengineer muzafar
Sr sofwareengineer muzafarSr sofwareengineer muzafar
Sr sofwareengineer muzafar
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
Criando sua primeira App Service no Azure
Criando sua primeira App Service no AzureCriando sua primeira App Service no Azure
Criando sua primeira App Service no Azure
 
ASP .Net Core SPA Templates
ASP .Net Core SPA TemplatesASP .Net Core SPA Templates
ASP .Net Core SPA Templates
 
Introduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVC
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 

Mais de Sandeep Adwankar

Mais de Sandeep Adwankar (20)

Building Products with Data at Core
Building Products with Data at Core Building Products with Data at Core
Building Products with Data at Core
 
PWA - ADT Magazine Webinar
PWA - ADT Magazine WebinarPWA - ADT Magazine Webinar
PWA - ADT Magazine Webinar
 
Sencha Products - Coderage Conference
Sencha Products - Coderage ConferenceSencha Products - Coderage Conference
Sencha Products - Coderage Conference
 
Adding powerful ext js components to react apps
Adding powerful ext js components to react appsAdding powerful ext js components to react apps
Adding powerful ext js components to react apps
 
Sencha Tooling Presentation at Senchacon Conference
Sencha Tooling Presentation at Senchacon ConferenceSencha Tooling Presentation at Senchacon Conference
Sencha Tooling Presentation at Senchacon Conference
 
Accelerating web application development
Accelerating web application development Accelerating web application development
Accelerating web application development
 
Build great looking web app themes with themer 1.1
Build great looking web app themes with themer 1.1Build great looking web app themes with themer 1.1
Build great looking web app themes with themer 1.1
 
Create winning themes for your ext js apps
Create winning themes for your ext js appsCreate winning themes for your ext js apps
Create winning themes for your ext js apps
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
 
Sencha Themer 1.2 and Architect 4.2
Sencha Themer 1.2 and Architect 4.2Sencha Themer 1.2 and Architect 4.2
Sencha Themer 1.2 and Architect 4.2
 
Ext JS 6.5 Launch Webinar
Ext JS 6.5 Launch WebinarExt JS 6.5 Launch Webinar
Ext JS 6.5 Launch Webinar
 
Froala - Code Rage Webinar
Froala - Code Rage WebinarFroala - Code Rage Webinar
Froala - Code Rage Webinar
 
Extreact 6.6 Launch
Extreact 6.6 LaunchExtreact 6.6 Launch
Extreact 6.6 Launch
 
Ext JS 6.6 Launch Webinar
Ext JS 6.6 Launch WebinarExt JS 6.6 Launch Webinar
Ext JS 6.6 Launch Webinar
 
Application Development Trends Webinar
Application Development Trends WebinarApplication Development Trends Webinar
Application Development Trends Webinar
 
Ext JS Upgrade Adviser EA Launch
Ext JS Upgrade Adviser EA LaunchExt JS Upgrade Adviser EA Launch
Ext JS Upgrade Adviser EA Launch
 
Ext Web Components - Dev Week 2019
Ext Web Components - Dev Week 2019Ext Web Components - Dev Week 2019
Ext Web Components - Dev Week 2019
 
Ext JS 6.7 Launch Webinar
Ext JS 6.7 Launch WebinarExt JS 6.7 Launch Webinar
Ext JS 6.7 Launch Webinar
 
Ext angular Launch webinar
Ext angular Launch webinarExt angular Launch webinar
Ext angular Launch webinar
 
Product Camp Silicon Valley 2018 - PM Technical Skills
Product Camp Silicon Valley 2018 - PM Technical SkillsProduct Camp Silicon Valley 2018 - PM Technical Skills
Product Camp Silicon Valley 2018 - PM Technical Skills
 

Último

Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
mbmh111980
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
Max Lee
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Último (20)

GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
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
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
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
 
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
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)JustNaik Solution Deck (stage bus sector)
JustNaik Solution Deck (stage bus sector)
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
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
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with StrimziStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
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...
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
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
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 

Building ext js apps with ES2015 using sencha visual studio code plugin

  • 1. © 2016 Sencha Inc Build Modern WebApps with ECMAScript 2015 and Sencha Visual Studio Code Plugin Sandeep Adwankar Sr. Product Manager
  • 2. © 2016 Sencha Inc More developers use JavaScript (ECMAScript) than any other language 0% 10% 20% 30% 40% 50% 60% JavaScript SQL Java C# PHP Python C++ C Node JS Angular JS Ruby Objective-C Stack Overflow Developer Survey, March 2016
  • 3. © 2016 Sencha Inc ECMAScript Evolution
  • 4. © 2016 Sencha Inc ES5 Compatibility
  • 5. © 2016 Sencha Inc ES2015 features • Block scoped constructs • Default parameters • Template Literals • Arrow functions • For of loop • Promises • Classes • Modules • New Methods • …
  • 6. © 2016 Sencha Inc ES2015 Compatibility Windows 7http://kangax.github.io/compat-table/es6/
  • 7. © 2016 Sencha Inc Building ES2015 apps Build Tools Cmd 6.5 Dev Environment Sencha VS Code Plugin Build JavaScript Framework – Ext JS 6.0 Create
  • 8. © 2016 Sencha Inc Building ES2015 apps with Cmd 6.5 Command Line Tools Cmd 6.5 Dev Environment Sencha VS Code Plugin Build JavaScript Framework Ext JS 6.0 Create
  • 9. © 2016 Sencha Inc Sencha Cmd 6.5 • Support for ES 6 - Use new language features (arrow functions, classes, default params, …) - Works with ExtJS today - Limitations (addressed in Ext JS Next): • Can’t extend ExtJS components via native classes • No support for import - Implemented via Closure Compiler • Support for Progressive Web Apps via automatic service worker generation 9
  • 10. © 2016 Sencha Inc ES2015 support in Sencha Cmd 6.5 • This will require tooling. Our frameworks have to deal with legacy browsers. • Sencha will need a transpiler to compile back to old fashioned ES5 code. • Our goal is to let your ES2015 code run together with the Sencha framework code. • Cmd is Java based! With Sencha Cmd 6.5, code gets transpiled! Under the hood, we will use Google Closure Compiler. (We replaced Rhino)
  • 11. © 2016 Sencha Inc Building ES2015 apps with Sencha VS Code Plugin Command Line Tools Dev Environment Sencha VSCode Plugin Build JavaScript Framework Create
  • 12. © 2016 Sencha Inc Visual Studio Code Plugin 1.0 Sencha plugin for the fastest growing source editor – Microsoft’s VS Code • Code generation • Code completion • Code navigation • Inspection & refactoring • Documentation lookup 12
  • 13. © 2016 Sencha Inc Sencha Visual Studio Code Plugin • Intellisense • Code Generation • Code Navigation • Command Line Tools • Documentation Lookup • Debugging
  • 14. © 2016 Sencha Inc TernJS Eclipse Visual Studio IDE VS Code Ext JS Sencha Cmd Sencha Visual Studio Code Plugin Architecture Provides language services
  • 15. © 2016 Sencha Inc IntelliSense – Code Completion • Properties • Keys in Configs • xtypes • Events
  • 16. © 2016 Sencha Inc Code Navigation Supports code navigation for • class name • xtypes and other type aliases • methods and properties • config keys • events
  • 17. © 2016 Sencha Inc Documentation Lookup Supports documentation lookup (F1) for Ext JS • class name • xtypes and other type aliases • methods and properties • config keys • events
  • 18. © 2016 Sencha Inc Code Generation - Create New Ext JS App
  • 19. © 2016 Sencha Inc Integration with Sencha Cmd • Watch app source code for changes • Rebuild outputs • Web Server is started and hosts app • See compilation errors as they happen
  • 20. © 2016 Sencha Inc Debugging Ext JS Apps • Microsoft’s “Debugger for Chrome” extension • Launch Chrome browser with remote debugging enabled • Attach extension to the browser • Start debugging F5
  • 21. © 2016 Sencha Inc Cmd 6.5 and VS Code Demo 21
  • 22. © 2016 Sencha Inc Building ECMAScript 2015 apps on Mobile Command Line Tools Cmd 6.5 Dev Environment Sencha VS Code Plugin Build JavaScript Framework Ext JS 6.0 Create Cordova • HTML, CSS, JS • Resources • Configuration • Platform code • Plugin code
  • 23. © 2016 Sencha Inc What is Apache Cordova? • Open-source framework • Hosted webview • Single, shared codebase deployed to all targets • Plugins provide a common JS API to access device capabilities • About 6% of apps in stores (13% in enterprise) Native Wrapper <webview> Your JavaScript App Cordova Plugin JS API
  • 24. © 2016 Sencha Inc Sencha Cmd for Cordova Apps 24 • Build Profiles for hybrid apps • Preparing Cordova platform builds • Build, Emulate and run app on device
  • 25. © 2016 Sencha Inc ES2015 and Cordova Demo 25
  • 26. © 2016 Sencha Inc Pushing ECMAScript 2015 Code to Mobile Command Line Tools Cmd 6.5 Dev Environment Sencha VS Code Plugin Build JavaScript Framework Ext JS 6.0 Create Cordova • HTML, CSS, JS • Resources • Configuration • Platform code • Plugin code JavaScript Code Push • HTML, CSS, JS
  • 27. NEW CodePush uploads your JavaScript package to the cloud (Azure) After building your Sencha app, run: $ cd cordova $ code-push release-cordova [app] [platform] Phone asks, “Hey, Azure! Do you have an update for me?” Azure says, “Yup! Here’s a ZIP with all the web assets.” Code-Push extracts ZIP and replaces the contents of /www Code Push Workflow
  • 29. © 2016 Sencha Inc Code Push ES2015 Demo 29
  • 30. © 2016 Sencha Inc Q & A 30
  • 31. © 2016 Sencha Inc Building Ext JS Apps with ECMAScript 2015 Using Sencha Visual Studio Code Plugin Sandeep Adwankar Sr. Product Manager
  • 32. © 2016 Sencha Inc Code Generation - Template Creation • Classes • Views • View Models • View Controllers • Models • Controllers • Stores
  • 33. © 2016 Sencha Inc Not all ES2015 features are new to Ext devs Some of these new ES2015 features already exist for years in Ext JS, and they are more advanced. ES2015 Tagged Template Templates Ext Ext.XTemplate Object.is() Ext.Object.equals() Object.assign() Ext.apply() Promises Ext.Promise Classes Ext.Base Modules Ext.Loader

Notas do Editor

  1. This shows how code completion will work for Properties, xtypes, keys in configs as well as events. For instance, if you were to start typing “xtype: ” and on control space, you would be presented with a list of all available xtypes. As you continue typing, the suggestion list will filter until you arrive at the xtype you seek. At which point, you can simply select the item.
  2. This functionality enables users to quickly move throughout their application without the need for searching a tree or directory structure. With the Sencha Visual Studio Plugin installed, you can right-click (or use the standard F12 shortcut key) on any of the following and select “Go to Definition” to view an item’s definition.
  3. This functionality enables users to quickly move throughout their application without the need for searching a tree or directory structure. With the Sencha Visual Studio Plugin installed, you can right-click (or use the standard F12 shortcut key) on any of the following and select “Go to Definition” to view an item’s definition.
  4. You can create a basic project type containing an example of a Web API project configured to use Ext JS through the ‘New Project’ action.  Upon selecting it, the App Generation wizard will appear as you can see. It will be populated with Sencha Cmd location, ExtJS SDK location, theme and toolkit. You can change it as well. This will generate example application. This is an ASP.NET application utilizing Web API (for Web Services, for example), with an Ext JS application baked in the Sencha directory. You can click the ‘Run’ button (or press Control + F5) to launch the system web browser with the application hosted by IISExpress.
  5. Once an Application has been generated, you can easily start Sencha App Watch to begin development with the Sencha’s Cmd web server based on Jetty web server. To start/stop Sencha Cmd’s ‘app watch’ command at any time, simply right click on the root Ext JS application folder to display the context menu and select ‘Run Sencha App Watch’. One Cmd has started, you will see Sencha Cmd’s output in the console view and your application will be available at location provided Stop the process at any time by right clicking the Ext JS application root again and selecting ‘Stop Sencha App Watch’.
  6. Once an Application has been generated, you can easily start Sencha App Watch to begin development with the Sencha’s Cmd web server based on Jetty web server. To start/stop Sencha Cmd’s ‘app watch’ command at any time, simply right click on the root Ext JS application folder to display the context menu and select ‘Run Sencha App Watch’. One Cmd has started, you will see Sencha Cmd’s output in the console view and your application will be available at location provided Stop the process at any time by right clicking the Ext JS application root again and selecting ‘Stop Sencha App Watch’.
  7. Originally made by Nitobi and purchased by Adobe in 2011.
  8. Building great looking data-intensive web applications has never been easier with Ext JS 6.2, Themer 1.0, and Architect 4.0. Join us for our upcoming webinar where you’ll learn about: - New Calendar component that helps users easily view or manage schedules, and events - D3 Adapter, which enables you to use D3.js data visualizations in your Ext JS apps - New Material Design based theme for the Ext JS Modern Toolkit - Powerful new Grid and Pivot Grid Enhancements including the new data exporter - Sencha Themer which lets you create great-looking customized themes for your apps without writing a single line of code - Architect 4.0 which enables you to visually develop modern apps on both Ext JS Modern and Classic toolkits
  9. To add a new class (or a specific type of class: Model, Store, View, Controller, etc.) simply “right+click” on the location you want the new class to be created and select Add > New Item… > Sencha > Class (or specific type)  Enter in the name of your class and click continue. Here is an example of the output of a Model generated