Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introduction to ExtReact, ExtAngular and ExtWeb...
Search
Olga
June 06, 2019
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to ExtReact, ExtAngular and ExtWebComponents
Olga
June 06, 2019
More Decks by Olga
See All by Olga
Visual Feature Engineering for Machine Learning with React
olgapetrova
0
310
Visual Feature Engineering for ML with React and TensorFlow.js
olgapetrova
0
110
How to Re-Architect a JavaScript Class System
olgapetrova
0
150
Web Push Notifications
olgapetrova
1
340
How to add D3.js visualization to your Ext JS application
olgapetrova
1
640
Turbo-charged Data Analysis and Visualization using Ext JS 6.2
olgapetrova
3
130
ExtJS 6: one framework for all devices
olgapetrova
1
820
Other Decks in Programming
See All in Programming
「新人AI禁止のその先へ ― 参加と協働のステップアップ」Vibe TOKYO, AI & CRAFT / 2026年8月21日
kentarowada
0
100
Go のフラットな パッケージに 「ファイル単位の private」を 〜Linter “declscope” を作った話〜
mpyw
0
320
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
200
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
150
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
280
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
170
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
330
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
710
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
120
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
App Intentsのビルドプロセスを支える技術
kntkymt
0
370
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
160
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
230
Utilizing Notion as your number one productivity tool
mfonobong
4
590
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
740
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Building an army of robots
kneath
307
46k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
A better future with KSS
kneath
240
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
670
Transcript
Olga Petrova, @tyoushe Introduction to ExtReact, ExtAngular, ExtWebComponents Olga Petrova,
@tyoushe
[email protected]
Olga Petrova, @tyoushe ExtReact & ExtAngular
Olga Petrova, @tyoushe
Olga Petrova, @tyoushe Components
Olga Petrova, @tyoushe Ext JS, React and Angular Ext JS
Component configs items: [] Angular Component properties Children elements React Component props Children elements
Olga Petrova, @tyoushe Reactor Wrapper Concept Ext JS Component props
state method calls event listeners transform translate configs events methods link to Ext JS Component
Olga Petrova, @tyoushe Architecture first and lastname React Framework Core
Ext Modern Components Theme Packages Sencha Themer Angular Framework Sencha Test Premium Packages
Olga Petrova, @tyoushe ExtReact 8 import React, { Component }
from 'react'; import { Grid, Column } from '@sencha/ext-modern'; export default class MyGrid extends Component { store = Ext.create('Ext.data.Store', {...}); render() { return ( <Grid title="Stock Prices" store={this.store}> <Column text="Company" dataIndex="name" width="150"/> <Column text="Price" width="85" dataIndex="price" formatter='usMoney‘/> </Grid> ) } } MyGrid.js
Olga Petrova, @tyoushe <container padding="10" layout="fit" [fitToParent]="true"> <grid title="Stock Prices"
[store]="store"> <column text="Company" width="150" dataIndex="name"></column> <column text="Price" width="85" dataIndex="price" formatter="usMoney"></column> <column text="Last Updated" dataIndex="lastChange"></column> </grid> </container> ExtAngular 9 import { Component } from '@angular/core'; @Component({ selector: 'basicgrid-component‘, templateUrl: './MyGrid.html' }) export class BasicGridComponent { store = Ext.create('Ext.data.Store', {...}) constructor() { //... } } MyGrid.html MyGrid.ts
Olga Petrova, @tyoushe Getting Started 10 ExtReact Trial: https://www.sencha.com/products/extreact/evaluate/ ExtAngular
Trial: https://www.sencha.com/products/extangular/evaluate/
Olga Petrova, @tyoushe npm login --registry=https://npm.sencha.com --scope=@sencha npm install -g
@sencha/ext-react-gen ext-react-gen app -i Setup 11
Olga Petrova, @tyoushe Examples 12 ExtReact Kitchensink: https://examples.sencha.com/ExtReact/6.7.0/kitchensink/ ExtAngular Kitchensink:
https://examples.sencha.com/ExtAngular/6.7.0/kitchensink/
Olga Petrova, @tyoushe Vue.js
Olga Petrova, @tyoushe WebComponents
Olga Petrova, @tyoushe
Olga Petrova, @tyoushe Specifications • Custom Elements • Shadow DOM
• ES Modules • HTML Template 16
Olga Petrova, @tyoushe Custom HTML Tag 17 class MyAwesomeButton extends
HTMLElement {...} window.customElements.define('my-awesome-button', MyAwesomeButton); <my-awesome-button class="nice_style">Click me!</my-awesome-button> var myAwesomeButton = document.createElement('my-awesome-button‘); document.body.appendChild(myAwesomeButton); document.querySelector('my-awesome-button‘) .addEventListener('click', function() {...});
Olga Petrova, @tyoushe
Olga Petrova, @tyoushe ExtWebComponents
Olga Petrova, @tyoushe ExtWebComponents 20 import '@sencha/ext-web-components/dist/ext-column.component'; import '@sencha/ext-web-components/dist/ext-grid.component‘;
Olga Petrova, @tyoushe <ext-panel width="100%" height="100%"> <ext-grid multiColumnSort=true onready="basicgrid.onGridReady" title="Stock
Prices"> <ext-column text="Company" flex="1" dataIndex="name"></ext-column> <ext-column text="Price" dataIndex="price" formatter="usMoney"></ext-column> <ext-column text="Last Updated" dataIndex="lastChange"></ext-column> </ext-grid> </ext-panel> import './MyGrid.html'; export default class MyGrid { constructor() { this.store = Ext.create('Ext.data.Store', {...}); } onGridReady = (event) => { this.gridCmp = event.detail.cmp; this.gridCmp.setStore(this.store); } } ExtWebComponents 21 MyGrid.html MyGrid.js
Olga Petrova, @tyoushe Getting Started 22 MyGrid.ts Early adopter access
to ExtWebComponents Trial: https://www.sencha.com/products/extwebcomponents/evaluate/earlyaccess/
Olga Petrova, @tyoushe npm login --registry=https://sencha.myget.org/F/early-adopter/npm/ --scope=@sencha npm install -g
@sencha/ext-web-components-gen ext-web-components-gen app --name MyApp Setup 23 MyGrid.ts
Olga Petrova, @tyoushe Examples 24 ExtWebComponents Kitchensink: https://examples.sencha.com/ExtWebComponents/7.0.0/kitchensink/
Olga Petrova, @tyoushe • 115+ UI Components • Layout System
• Sencha Themer • Sencha Test • Sencha Cmd integration • Ext JS component bridge • Webpack: Build and Bundle ExtReact ExtAngular ExtWebComponents
Olga Petrova, @tyoushe Introduction to ExtReact, ExtAngular, ExtWebComponents Olga Petrova,
@tyoushe
[email protected]