• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Serious Sencha - Using Sencha ExtJS/Touch for Enterprise Applications
 

Serious Sencha - Using Sencha ExtJS/Touch for Enterprise Applications

on

  • 143 views

A summary of the decision process at ]project-open[ for choosing Sencha ExtJS/Touch as the base for the mobile strategy. "Serious Sencha" summarizes enterprise requirements for mobile/desktop apps, ...

A summary of the decision process at ]project-open[ for choosing Sencha ExtJS/Touch as the base for the mobile strategy. "Serious Sencha" summarizes enterprise requirements for mobile/desktop apps, and how they are different from usual requirements.

Statistics

Views

Total Views
143
Views on SlideShare
143
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Serious Sencha - Using Sencha ExtJS/Touch for Enterprise Applications Serious Sencha - Using Sencha ExtJS/Touch for Enterprise Applications Presentation Transcript

    • Serious Sencha Using Sencha for Enterprise Applications Learned lessons from the first Sencha projects at ]project-open[ frank.bergmann@project-open.com
    • Serious Sencha “Serious Sencha” applications cater to different requirements compared to “normal” Web applications.  Serious Amounts of Data – 100.000s of business objects – 100s of different object types – Densely interconnected data  Serious Numbers of Users – 1.000s of concurrent users – 10.000s of occasional users – Spanning different levels of the hierarchy with different information needs  Serious Application Size – 100s of pages and lists of objects – Business objects are relatively “homogeneous”, so many pages look similar and should reduce boiler plate code  Serious Security – Data include customer contacts, financial information, project details – Users need a maximum of information to be productive, but as few as possible to avoid data leaks  Serious Availability – Organizations across several time zones don’t allow for downtimes  Serious Lifecycles – Business software typically operates between 5 and 20 years during which there are new versions, updates and patches rollout out to thousands of users.
    • Past Sencha Projects  Ticket Tracker GUI using Sencha Ext-JS  Various Sencha Ext- JS charts as graphical indicators  Under dev: Sencha Ext-JS Gantt Editor  Under dev: Sencha Touch Timesheet logging
    • Reasons to Choose “Sencha”  Integrated Strategy: Desktop + Mobile (Ext-JS + Touch), code & knowledge sharing.  Consistent framewlrks – all elements can be combined (as opposed to jQuery and others(?))  Both Ext-JS and Touch are leading frameworks in their area  Sencha dual licensing is (more or less…) compatible with ]project- open[ enterprise open source model
    • Overall Experience  Performing: Ext-JS has proved capable to deal with complex applications with medium amounts of data (10.000 tickets)  Cool: Both Ext-JS and Touch are cutting edge GUIs.  Difficult to learn: Both tools have long learning curves, and sometimes it still takes 2h to perform very simple tasks.  Converging: Differences between Sencha Touch and Sencha Ext-JS have converged. ]po[ code is still separate, but the time savings was massive.
    • Ext-JS/Touch Architecture ServerServer ]po[ Server]po[ Server REST Interface REST Interface Server: REST API Mobile ClientMobile Client NoteNavigationViewNoteNavigationView NoteListNoteList NoteDetailNoteDetail GUI View: Pages & Panels NoteStoreNoteStore • Id: 12345 • note: „asdf@asdf.com“ • note_type_id: 11508 • note_status_id: 11400 • object_id: 624 • Id: 12346 • note: „http://www.test.com/“ • note_type_id: 11510 • note_status_id: 11400 • object_id: 8868 . . . NoteModelNoteModel • Id: integer • note: text • note_type_id: integer • note_status_id: integer • object_id: integer „Proxy“„Proxy“ Data: Model & Store Network: Interface
    • Learned Lessons  Avoid loading all data into the app at application startup – This can take a while with 100.000 customer contacts… – The ]po[ REST back-end now supports a) compression  References vs. object names: We now use “de-normalized” views instead of sending raw table data  “Dependent stores” (different views at the same data) are an issue – learn to work around until the next main release solves the issue.
    • Thank You! frank.bergmann@project-open.com www.project-open.com (Frank Bergmann and Klaus Hofeditz)