SlideShare ist ein Scribd-Unternehmen logo
1 von 81
SenchaCon 2016
CEO, Art Landro
Welcome!
Who Rules the World?
Is Web App Dev
Winning
in the Enterprise?
“State of the Modern Web”
Research Report
This Year
75%+
Next Year
76%+
Why is web technology an important part of
your desktop or mobile application
strategy?
Reports of my death have
been greatly exaggerated
- Mark Twain
Reports of my death have
been
greatly exaggerated
Reports of my death have
been greatly exaggerated
- The Desktop
Importance of desktop as an application
platform in the next 12 months
More Data Created In Last Two Years
Than All Human History COMBINED
Beginning of recorded History –
2014
2014 – Present
9,000,000,000+
How is the need to visualize and analyze
complex datasets within your web
applications changing?
Data Visualization and Analytics
We Delivered
What’s Not Changing
Time
Resources
Expectations
Winning With the Modern Web
What are we working on?
Joint Partner Solutions
IBMi Applications Ext Speeder Oracle Forms
GXT
Productivity
Tools
Modern JavaScript
Open Tooling
Heterogeneous
Building Bridges
Heterogeneous
Building Bridges
Testing Earlier
To provide YOU with everything
you need to build data intensive
cross-platform web applications
Our Mission
Demo
Keynote Demo
Gautam Agrawal & Mark Brocato
A little recap…
Universal App Experience
Plugins for all Major
IDEs
New Visual Studio
Code Plugin
Pivot Grid
Data Exporter
New Components for
Analytics & Visualization
D3 Adapter
Sencha Architect 4.1
Material Theme &
Visual Theming
Sencha Themer 1.1
Sencha Theming
Contest
WebDriver Integration + Multi-Page Apps
Sencha Test 2.0
Best of Web + Best of Apps
Progressive Web Apps
Bridges to
React & Angular
Embracing Modern
JavaScript
Wait… there is more coming in 2017
ES6 Features
• Classes
• Imports
• Statics
• Block Scoping
• Arrow Functions
• Native Promises
• Enhanced Object Properties
• Destructuring
• Default Arguments
• Block Scoping
• Decorators
• Proxies
• Generators
• Iterators
• For…of
• Date/Time formatting
• Number formatting
• Map
• Set
• Weak-link Data Structures
• super
• Getter/Setter
• Template Strings
• Rest Parameter
• Spread Operator
• Typed Arrays
Together at Last!
Cmd 6.5
EA
Sencha Cmd 6.5
ES6 Goodies!
Ext.define('HelloWorld', {
extend: 'Ext.Component',
config: {
names: []
},
say(message='Hello') {
const { names } = this;
this.setHtml(
names.map(name => `${this.message} ${name}!`)
);
}
});
ES6 Goodies!
Ext.define('HelloWorld', {
extend: 'Ext.Component',
config: {
names: []
},
say(message='Hello') {
const { names } = this;
this.setHtml(
names.map(name => `${this.message} ${name}!`)
);
}
});
ES6 Goodies!
Ext.define('HelloWorld', {
extend: 'Ext.Component',
config: {
names: []
},
say(message='Hello') {
const { names } = this;
this.setHtml(
names.map(name => `${this.message} ${name}!`)
);
}
});
ES6 Goodies!
Ext.define('HelloWorld', {
extend: 'Ext.Component',
config: {
names: []
},
say(message='Hello') {
const { names } = this;
this.setHtml(
names.map(name => `${this.message} ${name}!`)
);
}
});
ES6 Goodies!
Ext.define('HelloWorld', {
extend: 'Ext.Component',
config: {
names: []
},
say(message='Hello') {
const { names } = this;
this.setHtml(
names.map(name => `${this.message} ${name}!`)
);
}
});
class HelloWorld {
say(message='Hello', names=['World']) {
Ext.Msg.alert(
names.map(name => `Hello ${name}!`)
);
}
}
ES6 in Cmd 6.5
class HelloWorld extends Ext.Component {
say(message='Hello', names=['World']) {
Ext.Msg.alert(
names.map(name => `Hello ${name}!`)
);
}
}
ES6 in Cmd 6.5
Hello World MVC
Ext.define('App.view.main.Main', {
extend: 'Ext.Container',
requires: [
'App.view.main.MainController',
'Ext.Button'
],
controller: 'main',
items: [{
xtype: 'button',
handler: 'onButtonClick'
}]
});
Main.js
Ext.define('App.view.main.MainController', {
extend: 'Ext.app.ViewController',
requires: [
'Ext.Msg'
],
alias: 'controller.main',
onButtonClick: function() {
Ext.Msg.alert('Alert', 'Hello World!');
}
});
MainController.js
The Main View with ES6
export default class Main {
}
The Main View with ES6
import { container } from '@extjs/modern';
export default class Main {
}
The Main View with ES6
import { container } from '@extjs/modern';
export default class Main extends container {
}
The Main View with ES6
import { container, button } from '@extjs/modern';
export default class Main extends container {
}
The Main View with ES6
import { container, button } from '@extjs/modern';
export default class Main extends container {
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
}
The Main View with ES6
import { container, button } from '@extjs/modern';
export default class Main extends container {
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
}
The Main View with ES6
import { define } from '@extjs/kernel';
import { container, button } from '@extjs/modern';
@define({
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
})
export default class Main extends container {
}
The Main View with ES6
import { define } from '@extjs/kernel';
import { container, button } from '@extjs/modern';
import MainController from './MainController';
@define({
controller: MainController,
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
})
export default class Main extends container {
}
The Main View with ES6
import { define } from '@extjs/kernel';
import { container, button } from '@extjs/modern';
import MainController from './MainController';
@define({
controller: MainController,
viewModel: { ... },
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
})
export default class Main extends container {
}
The Main View with ES6
import { define } from '@extjs/kernel';
import { container, button } from '@extjs/modern';
import MainController from './MainController';
@define({
controller: MainController,
viewModel: { ... },
mixins: [ ... ],
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
})
export default class Main extends container {
}
The Main View with ES6
import { define } from '@extjs/kernel';
import { container, button } from '@extjs/modern';
import MainController from './MainController';
@define({
controller: MainController,
viewModel: { ... },
mixins: [ ... ],
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
})
export default class Main extends container {
doStuff() {
// amazing code here
}
}
The Main View with ES6
import { define } from '@extjs/kernel';
import { container, button } from '@extjs/modern';
import MainController from './MainController';
@define({
controller: MainController,
viewModel: { ... },
mixins: [ ... ],
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
})
export default class Main extends container {
// intentionally left blank
}
The MainController
export default class MainController {
}
The MainController
import { controller } from '@extjs/core/controller';
export default class MainController {
}
The MainController
import { controller } from '@extjs/core/controller';
export default class MainController extends controller {
}
The MainController
import { controller } from '@extjs/core/controller';
export default class MainController extends controller {
}
import { define } from '@extjs/kernel';
import { container, button }
from '@extjs/modern';
import MainController
from './MainController';
@define({
controller: MainController,
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
})
export default class Main
extends container {
}
Main.js
The MainController
import { controller } from '@extjs/core/controller';
export default class MainController extends controller {
onButtonClick() {
}
}
import { define } from '@extjs/kernel';
import { container, button }
from '@extjs/modern';
import MainController
from './MainController';
@define({
controller: MainController,
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
})
export default class Main
extends container {
}
Main.js
The MainController
import { controller } from '@extjs/core/controller';
import { Msg } from '@extjs/modern';
export default class MainController extends controller {
onButtonClick() {
}
}
import { define } from '@extjs/kernel';
import { container, button }
from '@extjs/modern';
import MainController
from './MainController';
@define({
controller: MainController,
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
})
export default class Main
extends container {
}
Main.js
The MainController
import { controller } from '@extjs/core/controller';
import { Msg } from '@extjs/modern';
export default class MainController extends controller {
onButtonClick() {
Msg.alert('Alert', 'Hello World!');
}
}
import { define } from '@extjs/kernel';
import { container, button }
from '@extjs/modern';
import MainController
from './MainController';
@define({
controller: MainController,
items: [{
xtype: button,
text: 'Click Me',
handler: 'onButtonClick'
}]
})
export default class Main
extends container {
}
Main.js
Tooling
Nuclear Pizza Machine
360,000+ packages
Nuclear Pizza Machine
360,000+ packages
import { stuff } from 'package';
New Open Tool Chain
???
Scanner
Parser
Indexer
Optimizer
More on This…
The Modern Toolchain
Ross Gerbasi
Later on Today…
The Modern Toolchain
Ross Gerbasi
Modernizing the Ext JS Class System
Don Griffin
Enjoy All of the EA
Releases
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato

Weitere ähnliche Inhalte

Was ist angesagt?

Jquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript BasicsJquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript BasicsEPAM Systems
 
TurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsTurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsAlessandro Molina
 
Mule esb – connecting to ms sql db
Mule esb – connecting to ms sql dbMule esb – connecting to ms sql db
Mule esb – connecting to ms sql dbGunjan Deshmukh
 
AngularJS Directives
AngularJS DirectivesAngularJS Directives
AngularJS DirectivesEyal Vardi
 
Workshop 27: Isomorphic web apps with ReactJS
Workshop 27: Isomorphic web apps with ReactJSWorkshop 27: Isomorphic web apps with ReactJS
Workshop 27: Isomorphic web apps with ReactJSVisual Engineering
 
Extending the WordPress REST API - Josh Pollock
Extending the WordPress REST API - Josh PollockExtending the WordPress REST API - Josh Pollock
Extending the WordPress REST API - Josh PollockCaldera Labs
 
Web весна 2013 лекция 6
Web весна 2013 лекция 6Web весна 2013 лекция 6
Web весна 2013 лекция 6Technopark
 
First Steps in Drupal Code Driven Development
First Steps in Drupal Code Driven DevelopmentFirst Steps in Drupal Code Driven Development
First Steps in Drupal Code Driven DevelopmentNuvole
 
Web осень 2012 лекция 6
Web осень 2012 лекция 6Web осень 2012 лекция 6
Web осень 2012 лекция 6Technopark
 
Angular Directives from Scratch
Angular Directives from ScratchAngular Directives from Scratch
Angular Directives from ScratchChristian Lilley
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasminePaulo Ragonha
 
Workshop 12: AngularJS Parte I
Workshop 12: AngularJS Parte IWorkshop 12: AngularJS Parte I
Workshop 12: AngularJS Parte IVisual Engineering
 

Was ist angesagt? (20)

Jquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript BasicsJquery Complete Presentation along with Javascript Basics
Jquery Complete Presentation along with Javascript Basics
 
TurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsTurboGears2 Pluggable Applications
TurboGears2 Pluggable Applications
 
Mule esb – connecting to ms sql db
Mule esb – connecting to ms sql dbMule esb – connecting to ms sql db
Mule esb – connecting to ms sql db
 
Session 2- day 3
Session 2- day 3Session 2- day 3
Session 2- day 3
 
AngularJS Basics with Example
AngularJS Basics with ExampleAngularJS Basics with Example
AngularJS Basics with Example
 
CodeIgniter 3.0
CodeIgniter 3.0CodeIgniter 3.0
CodeIgniter 3.0
 
AngularJS Directives
AngularJS DirectivesAngularJS Directives
AngularJS Directives
 
Angular 2.0 - What to expect
Angular 2.0 - What to expectAngular 2.0 - What to expect
Angular 2.0 - What to expect
 
Workshop 27: Isomorphic web apps with ReactJS
Workshop 27: Isomorphic web apps with ReactJSWorkshop 27: Isomorphic web apps with ReactJS
Workshop 27: Isomorphic web apps with ReactJS
 
jQuery basics
jQuery basicsjQuery basics
jQuery basics
 
Drupal 8 Services
Drupal 8 ServicesDrupal 8 Services
Drupal 8 Services
 
Sane Async Patterns
Sane Async PatternsSane Async Patterns
Sane Async Patterns
 
Extending the WordPress REST API - Josh Pollock
Extending the WordPress REST API - Josh PollockExtending the WordPress REST API - Josh Pollock
Extending the WordPress REST API - Josh Pollock
 
Web весна 2013 лекция 6
Web весна 2013 лекция 6Web весна 2013 лекция 6
Web весна 2013 лекция 6
 
First Steps in Drupal Code Driven Development
First Steps in Drupal Code Driven DevelopmentFirst Steps in Drupal Code Driven Development
First Steps in Drupal Code Driven Development
 
Codegnitorppt
CodegnitorpptCodegnitorppt
Codegnitorppt
 
Web осень 2012 лекция 6
Web осень 2012 лекция 6Web осень 2012 лекция 6
Web осень 2012 лекция 6
 
Angular Directives from Scratch
Angular Directives from ScratchAngular Directives from Scratch
Angular Directives from Scratch
 
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and JasmineSingle Page Web Applications with CoffeeScript, Backbone and Jasmine
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
 
Workshop 12: AngularJS Parte I
Workshop 12: AngularJS Parte IWorkshop 12: AngularJS Parte I
Workshop 12: AngularJS Parte I
 

Andere mochten auch

Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...Sencha
 
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha
 
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha
 
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...Sencha
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha
 
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...Sencha
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...Sencha
 
Sencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop FirstSencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop FirstSencha
 
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSencha
 
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportSencha
 
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha
 
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data GridLeveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data GridSencha
 
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...Sencha
 
Building Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff StanoBuilding Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff StanoSencha
 

Andere mochten auch (16)

Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
 
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
 
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
 
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha TestSencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: What's New in Sencha Test
 
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
 
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
 
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
 
Sencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop FirstSencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Mobile First or Desktop First
 
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web AppsSenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
 
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
 
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
 
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data GridLeveraging React and GraphQL to Create a Performant, Scalable Data Grid
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
 
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
SenchaCon 2016: Improve Workflow Driven Applications with Ext JS Draw Package...
 
Building Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff StanoBuilding Ext JS Using HATEOAS - Jeff Stano
Building Ext JS Using HATEOAS - Jeff Stano
 

Ähnlich wie SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato

RIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JSRIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JSDominik Jungowski
 
Violet Peña - Storybook: A React Tool For Your Whole Team
Violet Peña - Storybook: A React Tool For Your Whole TeamViolet Peña - Storybook: A React Tool For Your Whole Team
Violet Peña - Storybook: A React Tool For Your Whole TeamAnton Caceres
 
Un-Framework - Delivering Dynamic Experiences with HTML over the Wire
Un-Framework - Delivering Dynamic Experiences with HTML over the WireUn-Framework - Delivering Dynamic Experiences with HTML over the Wire
Un-Framework - Delivering Dynamic Experiences with HTML over the WireAndreas Nedbal
 
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 appsSandeep Adwankar
 
Thymeleaf and Spring Controllers.ppt
Thymeleaf and Spring Controllers.pptThymeleaf and Spring Controllers.ppt
Thymeleaf and Spring Controllers.pptPatiento Del Mar
 
Spin Up Desktop Apps with Electron.js
Spin Up Desktop Apps with Electron.jsSpin Up Desktop Apps with Electron.js
Spin Up Desktop Apps with Electron.jsSteve Godin
 
React new features and intro to Hooks
React new features and intro to HooksReact new features and intro to Hooks
React new features and intro to HooksSoluto
 
A re introduction to webpack - reactfoo - mumbai
A re introduction to webpack - reactfoo - mumbaiA re introduction to webpack - reactfoo - mumbai
A re introduction to webpack - reactfoo - mumbaiPraveen Puglia
 
please code in c#- please note that im a complete beginner- northwind.docx
please code in c#- please note that im a complete beginner-  northwind.docxplease code in c#- please note that im a complete beginner-  northwind.docx
please code in c#- please note that im a complete beginner- northwind.docxAustinaGRPaigey
 
Web components with Angular
Web components with AngularWeb components with Angular
Web components with AngularAna Cidre
 
Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4DEVCON
 
React native app with type script tutorial
React native app with type script tutorialReact native app with type script tutorial
React native app with type script tutorialKaty Slemon
 
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
Aprimorando sua Aplicação com Ext JS 4 - BrazilJSAprimorando sua Aplicação com Ext JS 4 - BrazilJS
Aprimorando sua Aplicação com Ext JS 4 - BrazilJSLoiane Groner
 
SenchaCon 2010: Developing components and extensions for ext js
SenchaCon 2010: Developing components and extensions for ext jsSenchaCon 2010: Developing components and extensions for ext js
SenchaCon 2010: Developing components and extensions for ext jsMats Bryntse
 
Building a Mobile App with Sencha Touch
Building a Mobile App with Sencha TouchBuilding a Mobile App with Sencha Touch
Building a Mobile App with Sencha TouchJames Pearce
 

Ähnlich wie SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato (20)

RIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JSRIA - Entwicklung mit Ext JS
RIA - Entwicklung mit Ext JS
 
Day 5
Day 5Day 5
Day 5
 
Violet Peña - Storybook: A React Tool For Your Whole Team
Violet Peña - Storybook: A React Tool For Your Whole TeamViolet Peña - Storybook: A React Tool For Your Whole Team
Violet Peña - Storybook: A React Tool For Your Whole Team
 
Vaadin7
Vaadin7Vaadin7
Vaadin7
 
Ext JS Introduction
Ext JS IntroductionExt JS Introduction
Ext JS Introduction
 
Un-Framework - Delivering Dynamic Experiences with HTML over the Wire
Un-Framework - Delivering Dynamic Experiences with HTML over the WireUn-Framework - Delivering Dynamic Experiences with HTML over the Wire
Un-Framework - Delivering Dynamic Experiences with HTML over the Wire
 
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
 
Thymeleaf and Spring Controllers.ppt
Thymeleaf and Spring Controllers.pptThymeleaf and Spring Controllers.ppt
Thymeleaf and Spring Controllers.ppt
 
Spin Up Desktop Apps with Electron.js
Spin Up Desktop Apps with Electron.jsSpin Up Desktop Apps with Electron.js
Spin Up Desktop Apps with Electron.js
 
React new features and intro to Hooks
React new features and intro to HooksReact new features and intro to Hooks
React new features and intro to Hooks
 
A re introduction to webpack - reactfoo - mumbai
A re introduction to webpack - reactfoo - mumbaiA re introduction to webpack - reactfoo - mumbai
A re introduction to webpack - reactfoo - mumbai
 
please code in c#- please note that im a complete beginner- northwind.docx
please code in c#- please note that im a complete beginner-  northwind.docxplease code in c#- please note that im a complete beginner-  northwind.docx
please code in c#- please note that im a complete beginner- northwind.docx
 
Dartprogramming
DartprogrammingDartprogramming
Dartprogramming
 
Web components with Angular
Web components with AngularWeb components with Angular
Web components with Angular
 
Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4Python Code Camp for Professionals 3/4
Python Code Camp for Professionals 3/4
 
React native app with type script tutorial
React native app with type script tutorialReact native app with type script tutorial
React native app with type script tutorial
 
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
Aprimorando sua Aplicação com Ext JS 4 - BrazilJSAprimorando sua Aplicação com Ext JS 4 - BrazilJS
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
 
C++ L09-Classes Part2
C++ L09-Classes Part2C++ L09-Classes Part2
C++ L09-Classes Part2
 
SenchaCon 2010: Developing components and extensions for ext js
SenchaCon 2010: Developing components and extensions for ext jsSenchaCon 2010: Developing components and extensions for ext js
SenchaCon 2010: Developing components and extensions for ext js
 
Building a Mobile App with Sencha Touch
Building a Mobile App with Sencha TouchBuilding a Mobile App with Sencha Touch
Building a Mobile App with Sencha Touch
 

Mehr von Sencha

Breathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web ComponentsBreathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web ComponentsSencha
 
Ext JS 6.6 Highlights
Ext JS 6.6 HighlightsExt JS 6.6 Highlights
Ext JS 6.6 HighlightsSencha
 
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil ManvarSenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil ManvarSencha
 
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...Sencha
 
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory Hardy
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory HardySenchaCon 2016: JavaScript is Great but Stop Writing It - Rory Hardy
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory HardySencha
 
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...Sencha
 
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...Sencha
 
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay PlatonovSenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay PlatonovSencha
 
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...Sencha
 
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...Sencha
 

Mehr von Sencha (10)

Breathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web ComponentsBreathe New Life into Your Existing JavaScript Applications with Web Components
Breathe New Life into Your Existing JavaScript Applications with Web Components
 
Ext JS 6.6 Highlights
Ext JS 6.6 HighlightsExt JS 6.6 Highlights
Ext JS 6.6 Highlights
 
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil ManvarSenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
 
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...
 
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory Hardy
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory HardySenchaCon 2016: JavaScript is Great but Stop Writing It - Rory Hardy
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory Hardy
 
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...
 
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
 
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay PlatonovSenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay Platonov
 
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...
 
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Kürzlich hochgeladen (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato

  • 3. Who Rules the World?
  • 4.
  • 5. Is Web App Dev Winning in the Enterprise? “State of the Modern Web” Research Report
  • 6.
  • 8. Why is web technology an important part of your desktop or mobile application strategy?
  • 9. Reports of my death have been greatly exaggerated - Mark Twain
  • 10. Reports of my death have been greatly exaggerated
  • 11. Reports of my death have been greatly exaggerated - The Desktop
  • 12. Importance of desktop as an application platform in the next 12 months
  • 13. More Data Created In Last Two Years Than All Human History COMBINED Beginning of recorded History – 2014 2014 – Present
  • 15. How is the need to visualize and analyze complex datasets within your web applications changing?
  • 20. Winning With the Modern Web What are we working on?
  • 21. Joint Partner Solutions IBMi Applications Ext Speeder Oracle Forms
  • 22. GXT
  • 28. To provide YOU with everything you need to build data intensive cross-platform web applications Our Mission
  • 29. Demo
  • 30. Keynote Demo Gautam Agrawal & Mark Brocato
  • 33. Plugins for all Major IDEs
  • 35. Pivot Grid Data Exporter New Components for Analytics & Visualization D3 Adapter
  • 40. WebDriver Integration + Multi-Page Apps Sencha Test 2.0
  • 41. Best of Web + Best of Apps Progressive Web Apps
  • 44. ES6 Features • Classes • Imports • Statics • Block Scoping • Arrow Functions • Native Promises • Enhanced Object Properties • Destructuring • Default Arguments • Block Scoping • Decorators • Proxies • Generators • Iterators • For…of • Date/Time formatting • Number formatting • Map • Set • Weak-link Data Structures • super • Getter/Setter • Template Strings • Rest Parameter • Spread Operator • Typed Arrays
  • 47. ES6 Goodies! Ext.define('HelloWorld', { extend: 'Ext.Component', config: { names: [] }, say(message='Hello') { const { names } = this; this.setHtml( names.map(name => `${this.message} ${name}!`) ); } });
  • 48. ES6 Goodies! Ext.define('HelloWorld', { extend: 'Ext.Component', config: { names: [] }, say(message='Hello') { const { names } = this; this.setHtml( names.map(name => `${this.message} ${name}!`) ); } });
  • 49. ES6 Goodies! Ext.define('HelloWorld', { extend: 'Ext.Component', config: { names: [] }, say(message='Hello') { const { names } = this; this.setHtml( names.map(name => `${this.message} ${name}!`) ); } });
  • 50. ES6 Goodies! Ext.define('HelloWorld', { extend: 'Ext.Component', config: { names: [] }, say(message='Hello') { const { names } = this; this.setHtml( names.map(name => `${this.message} ${name}!`) ); } });
  • 51. ES6 Goodies! Ext.define('HelloWorld', { extend: 'Ext.Component', config: { names: [] }, say(message='Hello') { const { names } = this; this.setHtml( names.map(name => `${this.message} ${name}!`) ); } });
  • 52. class HelloWorld { say(message='Hello', names=['World']) { Ext.Msg.alert( names.map(name => `Hello ${name}!`) ); } } ES6 in Cmd 6.5
  • 53. class HelloWorld extends Ext.Component { say(message='Hello', names=['World']) { Ext.Msg.alert( names.map(name => `Hello ${name}!`) ); } } ES6 in Cmd 6.5
  • 54. Hello World MVC Ext.define('App.view.main.Main', { extend: 'Ext.Container', requires: [ 'App.view.main.MainController', 'Ext.Button' ], controller: 'main', items: [{ xtype: 'button', handler: 'onButtonClick' }] }); Main.js Ext.define('App.view.main.MainController', { extend: 'Ext.app.ViewController', requires: [ 'Ext.Msg' ], alias: 'controller.main', onButtonClick: function() { Ext.Msg.alert('Alert', 'Hello World!'); } }); MainController.js
  • 55. The Main View with ES6 export default class Main { }
  • 56. The Main View with ES6 import { container } from '@extjs/modern'; export default class Main { }
  • 57. The Main View with ES6 import { container } from '@extjs/modern'; export default class Main extends container { }
  • 58. The Main View with ES6 import { container, button } from '@extjs/modern'; export default class Main extends container { }
  • 59. The Main View with ES6 import { container, button } from '@extjs/modern'; export default class Main extends container { items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }
  • 60. The Main View with ES6 import { container, button } from '@extjs/modern'; export default class Main extends container { items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }
  • 61. The Main View with ES6 import { define } from '@extjs/kernel'; import { container, button } from '@extjs/modern'; @define({ items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }) export default class Main extends container { }
  • 62. The Main View with ES6 import { define } from '@extjs/kernel'; import { container, button } from '@extjs/modern'; import MainController from './MainController'; @define({ controller: MainController, items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }) export default class Main extends container { }
  • 63. The Main View with ES6 import { define } from '@extjs/kernel'; import { container, button } from '@extjs/modern'; import MainController from './MainController'; @define({ controller: MainController, viewModel: { ... }, items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }) export default class Main extends container { }
  • 64. The Main View with ES6 import { define } from '@extjs/kernel'; import { container, button } from '@extjs/modern'; import MainController from './MainController'; @define({ controller: MainController, viewModel: { ... }, mixins: [ ... ], items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }) export default class Main extends container { }
  • 65. The Main View with ES6 import { define } from '@extjs/kernel'; import { container, button } from '@extjs/modern'; import MainController from './MainController'; @define({ controller: MainController, viewModel: { ... }, mixins: [ ... ], items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }) export default class Main extends container { doStuff() { // amazing code here } }
  • 66. The Main View with ES6 import { define } from '@extjs/kernel'; import { container, button } from '@extjs/modern'; import MainController from './MainController'; @define({ controller: MainController, viewModel: { ... }, mixins: [ ... ], items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }) export default class Main extends container { // intentionally left blank }
  • 67. The MainController export default class MainController { }
  • 68. The MainController import { controller } from '@extjs/core/controller'; export default class MainController { }
  • 69. The MainController import { controller } from '@extjs/core/controller'; export default class MainController extends controller { }
  • 70. The MainController import { controller } from '@extjs/core/controller'; export default class MainController extends controller { } import { define } from '@extjs/kernel'; import { container, button } from '@extjs/modern'; import MainController from './MainController'; @define({ controller: MainController, items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }) export default class Main extends container { } Main.js
  • 71. The MainController import { controller } from '@extjs/core/controller'; export default class MainController extends controller { onButtonClick() { } } import { define } from '@extjs/kernel'; import { container, button } from '@extjs/modern'; import MainController from './MainController'; @define({ controller: MainController, items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }) export default class Main extends container { } Main.js
  • 72. The MainController import { controller } from '@extjs/core/controller'; import { Msg } from '@extjs/modern'; export default class MainController extends controller { onButtonClick() { } } import { define } from '@extjs/kernel'; import { container, button } from '@extjs/modern'; import MainController from './MainController'; @define({ controller: MainController, items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }) export default class Main extends container { } Main.js
  • 73. The MainController import { controller } from '@extjs/core/controller'; import { Msg } from '@extjs/modern'; export default class MainController extends controller { onButtonClick() { Msg.alert('Alert', 'Hello World!'); } } import { define } from '@extjs/kernel'; import { container, button } from '@extjs/modern'; import MainController from './MainController'; @define({ controller: MainController, items: [{ xtype: button, text: 'Click Me', handler: 'onButtonClick' }] }) export default class Main extends container { } Main.js
  • 76. Nuclear Pizza Machine 360,000+ packages import { stuff } from 'package';
  • 77. New Open Tool Chain ??? Scanner Parser Indexer Optimizer
  • 78. More on This… The Modern Toolchain Ross Gerbasi
  • 79. Later on Today… The Modern Toolchain Ross Gerbasi Modernizing the Ext JS Class System Don Griffin
  • 80. Enjoy All of the EA Releases

Hinweis der Redaktion

  1. 2
  2. So in that world, who rules?
  3. You do! You Rule the World! You all CREATE THE MAGIC Power & Influence is Increasing The software developers wielding web technology skills and tools that turn ideas into amazing applications that drive operations and businesses around the planet, rule the world.
  4. 5
  5. 93 PERCENT!!! 93% of the respondents said that web technologies are critical to their strategy for desktop and mobile. We were expecting a high number, but this is amazing! Web Technology is Winning! Look at some more interesting data – Since in Vegas, let’s follow the money!!!
  6. 7
  7. 8
  8. Mark Twain has been credited with this famous quote, although there is a lot of conflicting stories on the exact wording. But let’s apply the quote Much more recent history… 5-10 Years
  9. OK. Maybe it wasn’t Clippy – but it’s close….
  10. It’s the Desktop…. Paper Look at some numbers
  11. 12
  12. 13
  13. Over NINE BILLION!!!! They are managing NINE BILLION parts in their Global R&D, Production and Maintenance systems. Again – I am always impressed with the amount of data you need to work with every day… As this trend continues – at some point in our lives we will be saying more data was created in the last 2 MONTHS (let alone 2 years) than in all human history combined – --- As this trend continues there will be increasing pressure on you to develop web applications that can visualize the data.
  14. 15
  15. 16
  16. 17
  17. So first, lets level set as a group on what’s not changing in our world.
  18. 19
  19. So what are we working on in the coming weeks and months to help you overcome the challenges you face? – both the ones that are changing constantly and the ones we just went through.
  20. 21
  21. 22
  22. 23
  23. Modern JavaScript and open tooling means we will help you improve development productivity and provide you with greater flexibility in tool selection both from Sencha and the JS Community at large. Gautam and Mark will give you a preview of how Sencha plans to take advantages of the latest advancements in JavaScript and open web tooling in their upcoming demo.
  24. 25
  25. We’re building our bridges to React and Ang I want to be really clear here - we absolutely want you to build your entire application from the ground up with Ext JS or GXT. But we know that for some of you pockets in your organization built applications React and Angular2 advantage powerful Ext JS components data grid and the pivot grid. By building these bridges help you transform all web applications powerful, data-centric, cross-platform applications. We will be showing you the technology
  26. 27
  27. Everyone here knows how challenging it is to build truly awesome apps for millions of users that run the world’s businesses Governments non-profits We are here to ensure your success. As a matter of fact, we consider it our mission. Our Mission is to provide everything you need, from products to support to services, to rapidly build data intensive cross platform enterprise web applications so you can deliver the right experience - right time -right screen.
  28. I’ve been doing a lot of talking about what we’re building, and how great and powerful it is going to be – but who is excited about seeing it? I would now like to introduce Gautam Agrawal, Senior Director of Products and Mark Brocato, Senior Manager of Engineering. Gentlemen….
  29. Thank Art for the intro. My third SenchaCon as a Senchan, but the first time on Keynote stage. I’m really excited to be here. It can’t get better than this… right Mark? Alright… lets welcoming everyone. Thank you, all the Sencha developers, simply rock. Together we have built the world’s most advanced and comprehensive JavaScript stack.. or what I like to refer as the FullStack JavaScript platform. So thank you for being a Sencha developer and a part of our community.
  30. We have lots of great stuff to share with you today, and some really cool demos, but I want to take a few minutes to recap what we’ve accomplished together since the last SenchaCon.
  31. With the merger of Ext JS and Sencha Touch, we have arrived in the world of Universal Apps. With Ext JS 6, you are now creating apps that deliver tailored user experiences for desktop, tablets, and smartphones while sharing and reusing the maximum amount of code. So yes… the web is winning, because you are delivering universal app experiences at a fraction of the cost of building separately for each platform.
  32. I remember the days of Ext JS 4 and 5 when the only tool we had was Sencha Cmd, which is a big help for tasks such as scaffolding, build creation, etc. but… the number of times I would have to go to the API docs to look up methods, properties, configs... was just staggering. With the release of IDE plugins, we have come a long way in a very short amount of time. We now have plugins for all major IDEs. All versions of JetBrains, Eclipse, and Visual Studio are supported. These plugins provide an amazing amount of functionality including code completion, navigation, refactoring, context-based documentation look-ups. It’s easily increases our productivity by of more than 10x.
  33. So today.. we’re giving you an early access to yet another plugin for the Microsoft Visual Studio Code. VS Code is the fastest growing source code editor with over 2 million installs within a year of its release. I have to say… it feels like with VS Code, Microsoft has delivered something that developers are really like. The VS Code plugin will be available for all tiers of Ext JS packages. Std, Pro, and Premium. Mark: show us what VS code plugin looks like and what Sencha developers can now do within VS Code. Turn over to Mark  2 - 3 min VS Code Demo Turn over to Gautam  Awesome …. that was cool. To learn more about the VS Code plugin… check out Ryan Salva and Sandeep Adwankar’s session on app development with Visual Studio. Ryan is a Program Manager at Microsoft, and Sandeep is our Product Manager for Sencha Tools.
  34. As Art said, we are drowning in data, and businesses are demanding applications that can do more and more analytics and visualizations, rather than just presenting raw data. And so we delivered some components for analytics and data visualization. Pivot Grid, Data Exporter, and D3 Adapter. And now what is really cool is we have now integrated the Pivot Grid and D3 Adapter as well. Mark: Can you walk us through an example where we have integrated our Pivot Grid with D3? Turn over to Mark  Pivot Grid and D3 demo from Mark’s machine Turn over to Gautam  Wow… that’s just amazing. I am sure we don’t need that super expensive reporting and business intelligence solutions anymore. There are a number of sessions on these topics, and I would encourage you to not miss Vitaly’s session n Adding Magic to your Ext JS apps with D3 visualizations.
  35. I am super excited to share that not only we are providing you these premium components, but we have also brought them into Sencha Architect with the early access release of version 4.1 that we will be providing you today. And this is because of the sheer number of requests we received from our Architect users.
  36. Let’s look at Theming. We’ve made big enhancements to our theming capabilities. From the Fashion, our theme compiler, to the all new Material theme that supports animations, shadows, depth, and much more… and recently the no code visual theming tool, Sencha Themer. I have to say.. this is an area that far.. far exceeded my expectations. Marc and his team build a fantastic product and the feedback from all of you in our community has been just mind blowing. As you heard from Art, Sencha Themer will now be available in the Ext JS Pro package and I’m really excited about that. In fact if you have a current Ext JS Pro subscription, and you log into our support portal after the keynote, you should already see that Themer is available to download.
  37. But wait… that’s not all on theming. We’re also giving you an early access release of Themer 1.1 today. Themer 1.1 enables your directly theme your apps. Mark: This is getting better and better. Let’s show everyone how it works. It’s simpler than ever. Turn over to Mark  3-4 min Themer 1.1 demo Question to Mark: The themer UI looks suspiciously like Ext JS, but it’s something you download and install on the desktop. How is that possible? Mark mentions about Ext-Electron package, and that it will be made available in GitHub today. And also mention that we even have a full session on Building Native Desktop Apps with Ext JS and Electron by Don Griffin. For those of you who are doing lot of work in the theming area, don’t miss out on Andrew’s session on Theming Made Easy. The other session you shouldn’t miss on theming is Theming the Modern Toolkit by Phil. Turn over to Gautam 
  38. While we are on the theming topic, I am super excited to announce a new Theming contest, with a prize of $2500. All you need to do is … show us your creativity. The tools are already there, so I it won’t be hard to implement any design you have in mind. We’d love to see what kind of UI experiences you come up with. Details of this contest will be posted on our website right after the keynote. You can even come by the Sencha Zone and look for me, Mark or any of the people on the theming team to get your questions answered and get a jump start on your competition! Should be fun. I wish I could participate in the Theming Contest 
  39. How many of you have played with or know about Sencha Test? Early this year, we rolled out Sencha Test, our solution for Unit and Functional Test automation that integrates with your CI systems and allows you to execute your test on local browser pools or cloud based browser farms. Since then, a number of you have engaged your Test Automation teams to implement Sencha Test in your environments. You can write or record tests using Sencha Test for your Sencha apps, and run them automatically across multiple browsers. One of the common feedback we have received since the release of Sencha Test is even though most of you are building single page apps, a lot of time security and authentication requirements from the enterprise hide your single page apps behind a login or authentication page, making them multi-page apps. I am very happy to announce that today we are giving you an early access version of Sencha Test 2.0, which has Selenium WebDriver integrated, and allows you to test multi-page applications as well. There is a lot of great sessions on Sencha Test but don’t miss out on Craig Comstock’s session on how to write tests with Sencha Test Futures API and WebDriver integration.
  40. How many of you are already building Progressive Web Apps? It’s amazing to learn what the web can do today. From access to device hardware, to push notifications, and using apps offline. There is almost nothing out of the reach for the web now. Progressive Web Apps allow you to create experiences that combine the best of the web and the best of apps. Today… we are enabling you to create Progressive Web Apps. Mark: show us how we’re enabling the creation of Progressive Web Apps for Sencha Developers. Turn over to Mark  7 - 8 min PWA Demo Turn over to Gautam  Amazing… I guess there is hardly any benefit to building native apps now 
  41. How many of you have written some React or Angular Code? As Art said, the world of JavaScript is pretty heterogeneous, and while you may be using React, and Angular 2, or may be even something else… one of the things that JavaScript developers always look out for.. are the powerful components that that Sencha provides.. I can’t count how many times I get the question that Can I use your Grid in my React app, or Can I use your Pivot Grid in my Angular app. So today, we’re providing you a bridge to use Sencha components in your React and Angular 2 applications. That sounds really cool… Mark: I always thought that’s impossible? Walk us through this. Turn over to Mark  7 - 8 min React Bridge demo, Mention your own and Marc Gusmano’s Session on Angular 2 Bridge Turn over to Gautam  Really amazing… you’ve really made it possible, and the simplicity of how you can use Sencha components in React apps is astonishing.
  42. Wait… there’s more coming. The world of JavaScript is going through a big transformation. With ES6 standards in place, JavaScript is poised a major language like Java. Its already 2nd on the popularity charts. So Mark… tell us about some of the language changes in JavaScript, and how are we’re planning on handling them. Turn over to Mark  5 - 6 min Ext JS 7 & Tools preview Turn over to Gautam  Great! That sound really awesome.
  43. When ECMAScript 6 arrived in 2015 it brought a ton of new language features. Way too many to cover in even a full session. And so I want concentrate on two language features that I think are of particular interest. Those are classes and module imports.
  44. * optionally
  45. * optionally
  46. Not supported
  47. @extjs/modern Export default main
  48. Nuclear Pizza Machine Neatly prepared moustache Narcoleptic Pasta Manufacturer Nutmeg Pludering Muse
  49. Nuclear Pizza Machine Neatly prepared moustache Narcoleptic Pasta Manufacturer Nutmeg Pludering Muse
  50. Sugery syntax aside, what’s in it for you? Well there’s this thing called the nuclear pizza machine. You may have heard it referred to as npm. it has over 34,000 packages that solve almost every problem imaginable. We want to make it easy to take advantage of those. And this bit of syntax is the key to unlocking that ecosystem.
  51. And so we’re developing a new node based toolchain as the successor to sencha cmd as well as a webpack plugin that will allow you to grab the functionality you need from npm and deliver to the browser as a single minified, optimized bundle. MODERNIZING the Ext Class OPEN
  52. And so we’re developing a new node based toolchain as the successor to sencha cmd as well as a webpack plugin that will allow you to grab the functionality you need from npm and deliver to the browser as a single minified, optimized bundle. MODERNIZING the Ext Class OPEN
  53. And so we’re developing a new node based toolchain as the successor to sencha cmd as well as a webpack plugin that will allow you to grab the functionality you need from npm and deliver to the browser as a single minified, optimized bundle. MODERNIZING the Ext Class OPEN
  54. I want to thank you all for your enthusiasm and Mark for his marathon of demos. If you want to speak to any of us, we would be glad to answer your questions. Find us in the Community Pavilion and breakout sessions. Enjoy SenchaCon. At this point, I would like to turn things back over to Art. Thanks everyone.