Top Banner
ExtJS 5 Future Opportunities for Zarafa WebApp with ExtJS 5
13

Introduction to ExtJs 5

Jun 26, 2015

Download

Software

An introduction to ExtJS 5 for the Zarafa community. This talk was part of the zarafatour 2014.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction to ExtJs 5

ExtJS 5

Future Opportunities for

Zarafa WebApp with ExtJS 5

Page 2: Introduction to ExtJs 5

ExtJS 5

● Thorsten Suckow-Homberg, Year 1976PHP & Javascript since 1999Sencha since 2007Author of conjoon (http://conjoon.org), Ext.ux.Livegrid (ExtJS 3)

@thorstensuckow

Page 3: Introduction to ExtJs 5

ExtJS 5

What is this talk about?

● ExtJS 5 – Javascript Framework for creating web-based Applications

● What's new in ExtJS5● How can Zarafa WebApp benefit from its

features● Getting started with ExtJS 5

Page 4: Introduction to ExtJs 5

ExtJS 5

ExtJS 5

What can ExtJS5 do for you?

Page 5: Introduction to ExtJs 5

ExtJS 5

What is ExtJS 5?

● Javascript library providingrobust user interface library→ more than 150 user interface componentspowerful application development platform leveraging HTML5 features

source: http://sencha.com

Page 6: Introduction to ExtJs 5

ExtJS 5

Page 7: Introduction to ExtJs 5

ExtJS 5

ExtJS 5 - Features

● class based architecture● declarative component

configurations● rich data package● MVC, VC, MVVM support● over 1000 documented APIs● large collection of themes● tablet compatible

Page 8: Introduction to ExtJs 5

ExtJS 5

Separation of Concerns in ExtJS 5

source: http://sencha.com

ViewControllers

ViewModels

… combined

● MVC already introduced in ExtJS4 (application based controllers)

● Great demand to provide SoC principles out of the box

Page 9: Introduction to ExtJs 5

ExtJS 5

Tablet Support in ExtJS 5

● different devices → different frameworks: ExtJS vs Sencha Touch

● they are sharing the same core library→ no compatibility when it comes to user interfaces and architecture

ExtJS 5:● Shares code across

frameworks (e.g. data package)

● Does also run on tablets (with no or minor adjustments)

● Event Normalization→ Revamped Event Implementation

source: http://sencha.com

Page 10: Introduction to ExtJs 5

ExtJS 5

Zarafa WebApp

Declarative apporach simplifies configuration of WebApp

provide configuration in declarative json structureload meta-information from server and use factories for a generic approach

{ meta : { search : { base : 'com.zarafa.ext.Search', enabled : true, singleton : true, target : '#mainTab', overrides : { form : { fields : { searchphrase : { xtype : 'textfield', allowBlank : false, fieldLabel : WebApp.I18n.Search } }, controls : { startSearch : { xtype : 'button', text : WebApp.I18n.StartSearch } }}}}}}

Page 11: Introduction to ExtJs 5

ExtJS 5

Zarafa WebAppMVVM, VC makes it easy to share already existing components among plugins

observe components by registering plugins to existing ViewControllers

streamlined APIbind extensions to existing models by utilizing data binding

sharing data information and formulas reduces cost of maintenance

ViewController

Plugin 1

Plugin n

Component

.

.

.broadcasts to

controls

ViewModel Extension A

Default Impl

Extension B

provides data formulas

Page 12: Introduction to ExtJs 5

ExtJS 5

Zarafa WebApp

● New Plain LAF Themes for ExtJS5, optimized for Tablets

feel right at home on Desktop and Tabletproduction timereduced – write once, run everywhere

● SASS- and Compass-supported Themebuilder

adjust WebApp to the CI-needs of a client's company

source: http://sencha.com

Page 13: Introduction to ExtJs 5

ExtJS 5

Challenges for a Developer

● Rather steep learning curve● strong knowledge of

Vanilla JS application architecture and patterns needed

● version FUDs made it hard to keep track of API changes in the past

● It's an Application Framework, not just a collection of UI controls → A good API documentation is the key to success!