2. Sencha Tools
Brings enterprise grade system of tools to Ext JS framework. Provides
developers of different backgrounds (personas) with:
- Optimal developer use cases and workflow
- Benefits of productivity improvement, quicker time to market
- Robust features, roadmap and upgrade path
- Adopt Ext JS framework quickly and support in Ext JS ecosystem
2
Helps developers quickly build performant, best practices,
beautifully styled apps
6. Ext JS Stencils
• Drag and drop component symbols to
mockups faster
• Supports Components from Modern and
Classic toolkit
• A complete UI asset kit for
- Adobe Illustrator
- Sketch
- Omnigraffle
- Balsamiq
- SVG/PNG
6
7. Sencha Architect
• Drag-n-drop visual app builder
• Best practices code generator that
minimizes manual coding
• Integrates Cordova for hybrid apps
• Support for Themer; import custom
themes
8. Architect – Build Modern Apps in minutes
• Generate modern app with Data UI
Builder
• Generates grid, list, details, form,
controller, stores and mock data from
your data model
8Pro and Premium
9. Architect – Easily create hybrid mobile apps
Convenient menus to quickly create hybrid
mobile apps
• Add Cordova packager and update build
settings with native profiles
• Build iOS/Android apps
• Build and Emulate iOS/Android apps
9Pro and Premium
10. Architect –Import themes from Sencha Themer
• Easily import custom themes created
using Sencha Themer
• Architect copies theme package and
applies theme to app
10Pro and Premium
11. Architect – Best Practices Code Generation
• Best Practices Automated Code Generation
• Easy code refactoring
- Renaming class/function
- Moving class/function
- Promote item to class
- Transform xtype
Pro and Premium
12. Architect – Application Templates and Extensions
• Quick start with provided application
templates
• Save your project as a template
• Save custom components
• Build framework extensions
Pro and Premium
14. Sencha Architect 4.1 – What’s New
• Support for Ext JS 6.2.1 and Cmd 6.2.1
• Drag and drop Premium Components
- D3 , Calendar, Pivot grid, Exporter
• Better Grid Support
- Row widget, header resizer for Classic
- Row expander for Modern
- Grid Builder support in Modern
• Extend Controller and Models
• Asset Manager to manage frameworks
14
15. Architect 4.1 – D3 Adapter
Integrates the D3.js library with Ext JS
core and provides some of the most
commonly used D3 visualizations as ready
to use components in Ext JS.
- Integration with data stores to update the
visualizations as data changes
• Data Store for regular data
• Tree Store for hierarchical data
- Pan/zoom interactions
15
16. Architect 4.1 – Calendar Component
Provides all the building blocks needed to
include advanced calendaring capabilities
in Ext JS applications.
- Day, Week, & Month views
- Store to define events
- Time zone support
- Drag, Resize & Validation
- Google’s Calendar API integration
16
17. Architect 4.1 – Pivot Grid
Powerful data analysis capabilities
available in both Classic and Modern
Toolkit.
- Drag-and-drop configurator
- Plugins for drilldown, range editor, exporter,
etc.
- Different layouts and styling elements
- Optimized for touch-devices
17
18. Architect 4.1 – Data Exporter
Supports export for native XLSX format,
as well as many other common export
formats such as HTML, CSV, and TSV.
- Capability to configure the exports for visible
or invisible (hidden columns) data
- Column styling in the exported documents
- Available in both toolkits, for Grids and Pivot
Grid
18
19. Architect 4.1 – Grid Enhancements
Exciting new functionality such as ‘row
body widgets’ that will allow you to add
components to the row body, such as grid
inside a grid.
- Available for both toolkits
- Can be linked to parent grid record
- Can put any component within the row body,
not just grid inside a grid
19
20. Architect 4.1 – Manage Ext JS frameworks, Cmd
• Sencha Architect now has option to
manage frameworks where you can
choose to install or remove framework or
Sencha Cmd versions.
• You can find the Manage Frameworks
option in File tab in Preferences menu.
21. Architect 4.1 – Import and Export Configs
• Import configs – Paste config values and
apply to a class
• Export configs – Export config values to
clipboard that you can copy to other
projects
28. Code Generation - Create New Ext JS App
• Provides wizard to walk through creation
of new app
29. 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
30. 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
32. Sencha Inspector
• Inspect over nested components and
minimize to improve performance
• For classic toolkit, identify unnecessary
components in layout runs
• Identify issues with data binding
• Debug issues with proxy and stores
32
33. What is Sencha Inspector?
Inspection and debugging
tool built specifically for
Sencha Ext JS applications
34. Why Sencha Inspector?
• Browser based debugging tools work
with rendered DOM, JS, CSS, and
don’t understand Sencha architecture
• Ext JS apps need better debugging
tool to be more efficient and productive
Improve Developer Productivity
35. • Developer has run into issues and needs to debug the application
• Developer wants to review / improve the performance of their app
• Developer wants to watch and review events fired while interacting
with an application
Common Use Cases
Inspecting, Debugging
36. Inspecting Architecture
• Detailed overview of application
architecture for any Ext JS app
• MVC, MVVM architecture details of
Model, View, Controller, ViewModel
Capabilities Overview: Inspection
37. Inspecting Events
• List of all events fired by Ext JS
components and appropriate event
handlers
• Events captured by name, source,
xtype, etc.
Capabilities Overview: Inspection
38. Inspecting Over-Nested Layouts
• Identifies components that are
nested within multiple containers
• Detects over nested containers and
shows prominently
• Helps minimize over nesting to
improve performance
Capabilities Overview: Inspection
39. Debugging Data Bindings
• Identifies issues related to data
binding, which even IDEs cannot
catch
• Displays data binding issues in red
to notify developers
Capabilities Overview: Debugging
40. Debugging Store & Proxies
• Identifies issues with views that are
not able to display data from a
server proxy.
• Shows Model, Store and Proxy
properties for developer to debug.
Capabilities Overview: Debugging
41. Improving App Performance
• Identifies components that
appear in any layout runs
• Points developer to eliminate
things that can reduce
unnecessary layouts of the
components, to improve
performance
Capabilities Overview: Debugging
43. Sencha Themer
• Design themes in an interactive visual
environment – no code
• Quick configurations for global variables
that cascade across all components
• Support for component Uis
• Live updates – No compile, build, reload
• Package themes, and share with ease
43
44. Classic Toolkit Modern Toolkit
base
neutral
classic
gray
neptune
crisp
crisp-touch
neptune-touch
triton
base
neptune
triton
ios
material
Create custom theme starting from Ext JS theme
46. Theme with innovative color selectors
• Color Palette showing base, background
and text color with 5% lighter and darker
• Material Design based Color Palette
46
47. Get comprehensive view of all updated styles
• View all Sass variables that you can
style
• As you style your app, filter view to see
updated Sass variables and their values
47
48. Easy way to add web fonts
• Add Google font URL to use web font in
your app
• Apply the web font to any component
48
49. Manage “Big” mode for modern apps
• Themer creates “Big Mode” variables to
be more touch-friendly
- In Phone view
- Inspecting an app in “Big” mode
49
50. What New in Themer 1.1
• Support for UIs for components such as
grid, list, tabpanel, title bar, form
components (text, datepicker), and more
• Connect your app to Themer and
Inspect app
• Modify component styles and UI in
Inspect mode
50
51. Themer 1.1 – Supports Extensive Component UIs
• Support for modern grid, list, tabpanel,
title bar, form components and more
• Full access to all Sass variables for “UI”
configuration.
51
52. Column Header
Check Column Header
Group
Header
Row
Check
Cell
Expander
Cell
Paging
Toolbar
Text
Cell
Row Numberer
Cell
Number
Cell
Widget
Cell
Date
Cell
Theming Modern Grid
53. Themer 1.1 – Theme Modern Grids and Make Them
Unique
• Modern Grid consists of grid cells, rows,
columns, column header, paging toolbar
and more
• With Themer, each of these
subcomponents can be uniquely themed
• Just add “ui” config for the specific
subcomponent in the grid and then
theme the UI with Themer.
53
54. Themer 1.1 – Easily Connect app to Themer
• Directly connect your app to Themer
• Update app.json and view connected
apps from View -> Connected Apps
54
55. Themer 1.1 – Directly Theme your app
• Inspect mode provides fine-grained
control over style selection in Your App
• Modify Sass variables and see changes
live
• Inspect mode allows freezing and
locking state of all components in
preview app
• Easy way to theme component states
such as – hover, pressed, open
55
56. Themer 1.1 – Inspect and Style with Component Tree
• In “Inspect” mode, click on the app and
view component tree
• View and them selected component’s
styles and UIs
56
57. Themer 1.1 – Import Colors from CSS
• Import colors from existing css files and
add to color palette
• Color palette will show imported colors
with lighter and darker options in
increments of +/- 5%.
57
58. Architect 4.1.2 – New release to support Themer 1.1
• Import themes with UIs created using
Sencha Themer
• Architect copies theme package and
applies theme to app
58Pro and Premium
59. Sencha Themer – Theming Contest
• Download Themer 1.1 & our contest
App
sencha.com/sencha-theming-contest-2016/
• Theme App and send us your theme at
contest@sencha.com
59
Winning Prize $2500
65. Ext JS 6.5
• Rich feature set – in Modern toolkit
• Desktop look-n-feel and related behavior
• Leverage the browser advancements – features + performance
• Common codebase for Ext JS, React (and Angular)
• Preparing for modern language features and tooling
Take a look what’s new in Sencha Tools, and what’s on the on the horizon for Tools. We will demonstrate the innovations in Sencha Cmd, Architect, Themer, and our new plugin for Visual Studio Code. We will also discuss the Ext Electron Package for native desktop packaging, and what we have planned for adopting the modern and open web tooling based on NodeJS, NPM and Webpack.
Integrate with enterprise development environments to provide a seamless development experience for building applications with Sencha SDK
Improve developer productivity, development experience and minimize errors during development.
Points
1. Mockup faster and better
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.
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.
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.
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.
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’.
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’.
Points
Sencha Inspector detects over nested containers and shows prominently to the developer to correct it.
Layout runs means recalculating layouts which needs to be efficient. Lesser the number of components involved in layout runs, more efficient it is
Sencha Inspector will analyze the data bindings on selected components, and highlight keys whose bound values are not found.
Sencha Inspector can debug issues with a view that is not able to display data from server proxy
Today’s web developers are well versed on using developer tools that come with the browser. There is Chrome developer tools that come with chrome browser. There are similar tools for Safari and IE browsers. These tools work by exposing HTML, CSS, Javascript that is underneath these web pages.
However, that is not sufficient for needs of ExtJS developers. The Ext JS is object oriented and class based framework and developer tools that come with browser are not able to show these classes. These classes include hundreds of components, view model, view controller, events and even themes.
Sencha Inspector is that tool that shows Ext JS in direct form as class structure and at abstraction that is at higher level that what chrome developer tools capable of
The business case of Inspector is cost savings. If Inspector can help save developer’s time, that will result in cost savings and that justifies incentive for someone to move to Premium and get Inspector.
The key developer use cases are Inspecting, debugging and theming
Quicker to understand application that some one else has written
Map visually web app with application structure
Easier to debug issues in the application
Easier to try out different Saas variables and themes
There are few use cases here
Developer wants to understand and review application architecture of a complex application to find issues
New developer wants to learn about application
Architect wants to review application architecture
There is app architecture tab that lists all the classes of the app that are currently loaded. The classes are organized in folders the same way as they would in the file system.
Ext JS provides support for MVC and MVVM application architectures.
In MVC, user interacts with view, displays data in Model and interactions are monitored by controller that updates view or model.
In MVVM has view Model that coordinates changes between Model’s data and view’s presentation using data binding
The components and classes of Ext JS fire a broad range of events at various points in their lifecycle. As you interact with app, there are number of events that are generated by the app. Inspecting Events lets you look at Events, fire some events, and determine handler for events
One of the common issue that we found with ExtJS application is overnesting. This is when developer creates components that are within a container nested within a container.
With number of such overnesting instances, the application has performance issues.
Sencha Inspector detects over nested containers and shows prominently to the developer to correct it.
Show over-nesting issue in feedviewer app
Data binding is important concept with ExtJS that allows you do more with less code. Essentially you bind you component and as data changes, your component updates.
However with this increased power, you have more chance to make mistakes.
Developer creates a data binding, but has a typo in the bind expression. The IDE is not able to detect the typo and developer is frustrated because of not getting desired result.
Sencha Inspector will analyze the data bindings on selected components, and highlight keys whose bound values are not found. In the example above, you may notice that “feeed” is misspelled -- a simple error that might be very difficult to notice in a large codebase.
Developer is having issues with a view that is not able to display data from server proxy. Sencha Inspector shows Model, Store and Proxy properties and developer is able to debug issue with the proxy. We can now explore the store’s basic configuration, model, and proxy information. In the lower-left grid, you can choose a record and then explore its raw data in the lower-right grid.
Add RSS feed and show it updated on store
One of key issue is that Developer is having performance issues with the application. With Sencha Inspector, developer is able to see components that appear in layout runs.
In Ext JS, the page and component layouts are managed by the framework using JavaScript. Anytime a component is added, removed, or resized the framework needs to recalculate layouts – so the obvious implication is that performance problems might occur if the framework needs to spend long CPU cycles recalculating the sizes and positions of components.
Opening up a layout run, we can see exactly what components are affected. We can even select one (that has an xtype) and click “Reveal” to find more information about this component in the tree.