SlideShare a Scribd company logo
Advanced Techniques for Ext Designer
Advanced Techniques
  for Ext Designer

    JARRED NICHOLLS, SENCHA
     AARON CONRAN, SENCHA
Agenda
Agenda
     Quick Designer Overview
         Productivity Tips
Advanced Component Configuration
What is Ext Designer?
• User Interface Builder for Ext JS
• Rapidly arrange and configure Ext JS components visually
• Great for quickly prototyping UIs
• Generates first-class Ext JS components
• So simple, a salesman your grandmother could use it
Written in Ext JS, running in an embedded WebKit browser
Designer Interface
                                                                    Project Component/Store
Component Toolbox         Active Component       Flyout Menu
                                                                              Trees




                                 Design Canvas




                                                                Component Configurations
           Toggle Design/Code Mode     Export/Preview Actions
Project Workflow


1. Create/Configure      2. Export Project to Disk
                                                      3. Import/Open Files in IDE
 Components and
    Data Stores




                                                    4. Implement Business Logic &
                                                              Behavior
                     5. Rinse & Repeat as Necessary
What do we get?
Exporting Project

     Top-level
     comps are
      exported



Generates two files per Top-level Component
           - User interface (.ui.js)
           - Implementation (.js)
Generated Code
      UI configuration class (.ui.js)
      Directly extends Ext JS
      component
      Updated on project export
      Can contain sub-components
      Never edited directly
Generated Code
      Implementation class (.js)
      Extends UI config class
      Never overwritten
      Business logic & behavior
      Dynamic configurations
Why is this good?
Component-oriented by design
Object-oriented by design
First-class Ext JS components generated


Promotes:
  1) Reusability
  2) Extensibility
  3) Separation of concerns
  4) Robustness
Power User Features
Transform
Convert to related components
 - TextField => TextArea
 - Column => NumberColumn
 - Panel => FormPanel
Transfers applicable
configurations
Great for quick changes to UI
Duplicate
Copy a component
  - All configurations
  - Be careful of uniqueness
(id)
Becomes a sibling

Great for repetitive
components
 - e.g., Back-to-back
ComboBox
Quick Set
Type in values
JSON style
Great for fast typers
Convenient
  - Filter/Set box focused on cmp.
select
  - Already filtering...
Promote to Class
• Ability to subclass within Designer
• Promote child items to top-level
components

• Top level components are rendered to
canvas
  Work on individual components

• Fundamental for Advanced
Component Configuration
Comps can be
Top-level   arranged and
comps are   used in the UI
 exported    and still be
              exported
Advanced Component
   Configuration
UI Design Scope
       Ext Designer    IDE / Browser




                 80%               20%




0%                                       100%
Ext Designer                   IDE / Browser
Create and configure comps
Arrange layouts                Custom Styling
Organize comp hierarchy          - Custom resources (CSS,
Create data stores and         icons, etc.)
bindings                         - Relative paths to resources
Preview individual comps         - Ext JS themes
Preview compiled UI / layout   Advanced comp configuration
Generate comp and store          - Function-type configs
classes                          - Plugins
                                 - User Extensions - UX’s

                                et cetera,
                                et cetera
Function-type
Configurations
Example: Grid Column Renderer
Make the column top-level (Promote
• Drag a grid out onto the canvas
to Class)
• Promote individual column to a class
Add function config to
implementation file
Example: Grid Column Renderer

Add function config to implementation file
Plugins
Add a Plugin
Scenario 1 - Top Level
Add a Plugin
 Scenario 1 - Top Level




Scenario 2 - Descendant
User Extensions
Integrating UX’s
Designer cannot currently show nor configure UX
components
Still need to design UI layouts to account for a UX
Integrating UX’s
Designer cannot currently show nor configure UX
components
Still need to design UI layouts to account for a UX

Add a placeholder component
 - BoxComponent
 - TextField or TextArea
Assign a ref to the placeholder
Replace the component dynamically in implementation file
Add a User Extension




Ext.Component
replaceWith override
Conclusion
Any problem in that 20% can be solved w/ implementation.

Solving a problem may require advanced Ext JS knowledge, but
almost always is a minute task.

We can and should reap the benefits of the Designer when
applicable.

Every version of the Designer will bring more from the IDE and
Browser under its own wing, closing the gap further.
Resources

Ext Designer Forums - http://www.sencha.com/forum/forumdisplay.php?50

Learning Center: http://www.sencha.com/learn/Ext_Designer

designer.feedback@sencha.com

More Related Content

ODP
Features & Installation Profiles
PPTX
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
PDF
ALM for SharePoint projects
PDF
WPF Intro
PDF
Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...
PPTX
How to Build Composite Applications with PRISM
PPT
Mobile Patterns with WebSphere Message Broker
ODP
Portlet factory 101
Features & Installation Profiles
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
ALM for SharePoint projects
WPF Intro
Connect 2014 AD209 - Making Your Development Team More Productive With IBM Do...
How to Build Composite Applications with PRISM
Mobile Patterns with WebSphere Message Broker
Portlet factory 101

What's hot (18)

PDF
(ATS4-DEV01) Accelrys Draw Enterprise Edition is more than an end user applic...
PPTX
Accelerating time to delivery: Modernizing Application Development
PDF
Kapil Verma: What's new in FrameMaker 10
PDF
4 - Architetture Software - Architecture Portfolio
PDF
IBM Certified Application Developer
PDF
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...
PDF
CERTIFICATE_Database Associate - DB2
PPTX
Ozone presentation
PDF
Sony vegas pro 11.0 [upgrade only]
PDF
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
PDF
Ad103 - Have it Your Way: Extending IBM Lotus Domino Designer
PDF
IBM Certified Database Administrator - DB2 10 for z/OS
PDF
Real World Java Compatibility (Tim Ellison)
PDF
X pages jumpstart jmp101
PDF
Stevecook uml mdday2010
PDF
2 rft simplified_scripting_shinoj_z
 
PPTX
SAP Ui5 content
PDF
Patterns&Practices-Errai
(ATS4-DEV01) Accelrys Draw Enterprise Edition is more than an end user applic...
Accelerating time to delivery: Modernizing Application Development
Kapil Verma: What's new in FrameMaker 10
4 - Architetture Software - Architecture Portfolio
IBM Certified Application Developer
Workflow Management Software with IBM Lotus Notes, Business Process Managemen...
CERTIFICATE_Database Associate - DB2
Ozone presentation
Sony vegas pro 11.0 [upgrade only]
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad103 - Have it Your Way: Extending IBM Lotus Domino Designer
IBM Certified Database Administrator - DB2 10 for z/OS
Real World Java Compatibility (Tim Ellison)
X pages jumpstart jmp101
Stevecook uml mdday2010
2 rft simplified_scripting_shinoj_z
 
SAP Ui5 content
Patterns&Practices-Errai
Ad

Similar to Advanced Techniques for Ext Designer (20)

PPTX
Innovations in Sencha Tooling and Framework
PDF
SPUnite17 Become a Developer Hero by Building Office Add ins
PDF
Tech Talk Comp Apps851 20090930
PPT
Automating the consumption of Eclipse for internal use
PDF
SPUnite17 Building Great Client Side Web Parts with SPFx
PPT
Creation&imitation
PDF
Eclipse e4
PPTX
Features and Context Overview
PPT
Building and Deployment of Drupal sites with Features and Context
PPT
Vsts intro
PDF
InvisibleStudio for Oracle's CRM Desktop
PPTX
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
PDF
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
PDF
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
PPTX
Final ppt
PDF
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
PPT
A Software Factory Integrating Rational Team Concert and WebSphere tools
PDF
What's new in Portal and WCM 8.5
ODP
Plug yourself in and your app will never be the same (2 hour edition)
ODP
Plug yourself in and your app will never be the same (2 hr editon)
Innovations in Sencha Tooling and Framework
SPUnite17 Become a Developer Hero by Building Office Add ins
Tech Talk Comp Apps851 20090930
Automating the consumption of Eclipse for internal use
SPUnite17 Building Great Client Side Web Parts with SPFx
Creation&imitation
Eclipse e4
Features and Context Overview
Building and Deployment of Drupal sites with Features and Context
Vsts intro
InvisibleStudio for Oracle's CRM Desktop
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
Final ppt
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
A Software Factory Integrating Rational Team Concert and WebSphere tools
What's new in Portal and WCM 8.5
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hr editon)
Ad

More from Sencha (20)

PDF
Breathe New Life into Your Existing JavaScript Applications with Web Components
PDF
Ext JS 6.6 Highlights
PDF
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
PDF
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
PDF
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
PDF
Sencha Roadshow 2017: What's New in Sencha Test
PDF
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
PDF
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
PDF
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
PDF
Sencha Roadshow 2017: Mobile First or Desktop First
PDF
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
PDF
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
PDF
Learn Key Insights from The State of Web Application Testing Research Report
PPTX
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
PPTX
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
PPT
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...
PPT
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
PPT
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
PPTX
Ext JS Architecture Best Practices - Mitchell Simeons
PPTX
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...
Breathe New Life into Your Existing JavaScript Applications with Web Components
Ext JS 6.6 Highlights
Sencha Roadshow 2017: BufferedStore Internals featuring eyeworkers interactiv...
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: What's New in Sencha Test
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...
Sencha Roadshow 2017: Modernizing the Ext JS Class System and Tooling
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App
Sencha Roadshow 2017: Mobile First or Desktop First
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and Beyond
Leveraging React and GraphQL to Create a Performant, Scalable Data Grid
Learn Key Insights from The State of Web Application Testing Research Report
Introducing ExtReact: Adding Powerful Sencha Components to React Apps
SenchaCon 2016: Keynote Presentation - Art Landro, Gautam Agrawal, Mark Brocato
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: Expect the Unexpected - Dealing with Errors in Web Apps
Ext JS Architecture Best Practices - Mitchell Simeons
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PDF
Modernizing your data center with Dell and AMD
PDF
Empathic Computing: Creating Shared Understanding
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
KodekX | Application Modernization Development
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Machine learning based COVID-19 study performance prediction
PPTX
A Presentation on Artificial Intelligence
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Approach and Philosophy of On baking technology
Modernizing your data center with Dell and AMD
Empathic Computing: Creating Shared Understanding
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KodekX | Application Modernization Development
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Building Integrated photovoltaic BIPV_UPV.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Advanced methodologies resolving dimensionality complications for autism neur...
Machine learning based COVID-19 study performance prediction
A Presentation on Artificial Intelligence
The Rise and Fall of 3GPP – Time for a Sabbatical?
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Understanding_Digital_Forensics_Presentation.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Advanced Techniques for Ext Designer

  • 2. Advanced Techniques for Ext Designer JARRED NICHOLLS, SENCHA AARON CONRAN, SENCHA
  • 4. Agenda Quick Designer Overview Productivity Tips Advanced Component Configuration
  • 5. What is Ext Designer? • User Interface Builder for Ext JS • Rapidly arrange and configure Ext JS components visually • Great for quickly prototyping UIs • Generates first-class Ext JS components • So simple, a salesman your grandmother could use it Written in Ext JS, running in an embedded WebKit browser
  • 6. Designer Interface Project Component/Store Component Toolbox Active Component Flyout Menu Trees Design Canvas Component Configurations Toggle Design/Code Mode Export/Preview Actions
  • 7. Project Workflow 1. Create/Configure 2. Export Project to Disk 3. Import/Open Files in IDE Components and Data Stores 4. Implement Business Logic & Behavior 5. Rinse & Repeat as Necessary
  • 8. What do we get?
  • 9. Exporting Project Top-level comps are exported Generates two files per Top-level Component - User interface (.ui.js) - Implementation (.js)
  • 10. Generated Code UI configuration class (.ui.js) Directly extends Ext JS component Updated on project export Can contain sub-components Never edited directly
  • 11. Generated Code Implementation class (.js) Extends UI config class Never overwritten Business logic & behavior Dynamic configurations
  • 12. Why is this good? Component-oriented by design Object-oriented by design First-class Ext JS components generated Promotes: 1) Reusability 2) Extensibility 3) Separation of concerns 4) Robustness
  • 14. Transform Convert to related components - TextField => TextArea - Column => NumberColumn - Panel => FormPanel Transfers applicable configurations Great for quick changes to UI
  • 15. Duplicate Copy a component - All configurations - Be careful of uniqueness (id) Becomes a sibling Great for repetitive components - e.g., Back-to-back ComboBox
  • 16. Quick Set Type in values JSON style Great for fast typers Convenient - Filter/Set box focused on cmp. select - Already filtering...
  • 17. Promote to Class • Ability to subclass within Designer • Promote child items to top-level components • Top level components are rendered to canvas Work on individual components • Fundamental for Advanced Component Configuration
  • 18. Comps can be Top-level arranged and comps are used in the UI exported and still be exported
  • 19. Advanced Component Configuration
  • 20. UI Design Scope Ext Designer IDE / Browser 80% 20% 0% 100%
  • 21. Ext Designer IDE / Browser Create and configure comps Arrange layouts Custom Styling Organize comp hierarchy - Custom resources (CSS, Create data stores and icons, etc.) bindings - Relative paths to resources Preview individual comps - Ext JS themes Preview compiled UI / layout Advanced comp configuration Generate comp and store - Function-type configs classes - Plugins - User Extensions - UX’s et cetera, et cetera
  • 23. Example: Grid Column Renderer Make the column top-level (Promote • Drag a grid out onto the canvas to Class) • Promote individual column to a class Add function config to implementation file
  • 24. Example: Grid Column Renderer Add function config to implementation file
  • 26. Add a Plugin Scenario 1 - Top Level
  • 27. Add a Plugin Scenario 1 - Top Level Scenario 2 - Descendant
  • 29. Integrating UX’s Designer cannot currently show nor configure UX components Still need to design UI layouts to account for a UX
  • 30. Integrating UX’s Designer cannot currently show nor configure UX components Still need to design UI layouts to account for a UX Add a placeholder component - BoxComponent - TextField or TextArea Assign a ref to the placeholder Replace the component dynamically in implementation file
  • 31. Add a User Extension Ext.Component replaceWith override
  • 32. Conclusion Any problem in that 20% can be solved w/ implementation. Solving a problem may require advanced Ext JS knowledge, but almost always is a minute task. We can and should reap the benefits of the Designer when applicable. Every version of the Designer will bring more from the IDE and Browser under its own wing, closing the gap further.
  • 33. Resources Ext Designer Forums - http://www.sencha.com/forum/forumdisplay.php?50 Learning Center: http://www.sencha.com/learn/Ext_Designer designer.feedback@sencha.com

Editor's Notes

  • #4: Advanced Techniques <==> Getting around what Designer can’t do at the moment.
  • #5: Advanced Techniques <==> Getting around what Designer can’t do at the moment.
  • #6: Advanced Techniques <==> Getting around what Designer can’t do at the moment.
  • #7: Real quick itemization of what Designer is and does It’s so simple, that it can’t do “everything”. But we can work around that reality and still benefit from what the Designer does give us.
  • #11: top level components are exported as javascript classes, but we don’t have to sacrifice our UI design in order to break down our component hierarchy into individual classes.
  • #12: Sample of exported component
  • #13: Sample of exported component
  • #20: top level components are exported as javascript classes, but we don’t have to sacrifice our UI design in order to break down our component hierarchy into individual classes.
  • #22: Designer gets us most of the way there in creating our UIs, but there are some problems that lie outside of the Designer GUI. That doesn’t stop us from making full use of the Designer and what it has to offer. As these limitations close up, this dark green will continue to approach that 100% marker. We can overcome any limitation with a little bit of elbow grease.
  • #23: Note we’re not speaking about issues outside of UI creation (i.e. implementation and behavior) as those issues are (for now) outside of the product’s scope and don’t apply...as important as they are. Yes, there are more limitations that what’s listed...we know. But we’re hitting the big ones today and you can apply the same strategy on all others. Designer will evolve and bring more under its umbrella in time.
  • #25: Somewhat a contrived example, as TemplateColumns are almost always a better choice. However, this illustrates that we can promote a grid column to an exported class, and then add a function-type config to it in the implementation file.
  • #26: Somewhat a contrived example, as TemplateColumns are almost always a better choice. However, this illustrates that we can promote a grid column to an exported class, and then add a function-type config to it in the implementation file.
  • #28: scenario 1 - like any other plug-in...just add it to the plugins array config
  • #29: scenario 2 - a sub-component won’t have a ref until after initComponent, so you can add the plug-in and initialize it in the same step. This is the tricky scenario, but in reality is as simple as calling the private initPlugin method.
  • #33: This is a community contributed helper method to handle easily replacing placeholder components in any container. Using the configured ref, you can call replaceWith on the placeholder in initComponent and swap it with the UX you wish to load. Simple and elegant workaround.
  • #35: More info on the Designer, and where to seek help.