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.
Direct Style Effect Systems -The Print[A] Example- A Comprehension Aid
Serious Sencha - Using Sencha ExtJS/Touch for Enterprise Applications
1. Serious Sencha
Using Sencha for Enterprise Applications
Learned lessons from the first
Sencha projects at ]project-open[
frank.bergmann@project-open.com
2. 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.
3. 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
4. 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
5. 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.
7. 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.