Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
WEB BASED, MOBILE ENTERPRISE
APPLICATIONS

Manish Garg
@manishgarg
2

What are we going to cover
1.
2.
3.
4.

What are enterprise applications
Native vs web based apps
Performance
Customiza...
3

1.
2.
3.
4.

What are enterprise applications
Native vs web based apps
Performance
Customization – often ignored but al...
4

What is happening in Enterprise





Democratization and Consumerization of IT
Shift from features and functionalit...
5

1. Enterprise apps




Mission critical applications that power the large
companies
Think of manufacturing, retail, b...
6

Now think of 1000s of
companies running
100s of processes
7

How are enterprise apps different?











Design driven; consistency in design
We are not talking about sin...
8

Architectural requirements checklist
1.
2.
3.
4.
5.
6.
7.
8.
9.

Responsive design
Security, SSO integration
Globalizat...
9

1.
2.
3.
4.

What are enterprise applications
Native vs web based apps
Performance
Customization – often ignored but al...
10

Native or HTML5

BIG decision
Depends on the use case
11

HTML5 is great for most use cases




80% of the functionality can be covered, including
graphs
20% needs native sup...
12

HTML5 – Design impact
PROS
 Consistent design and UX
 Designers can provide several development assets (CSS,
HTML, …...
13

HTML5 - Development and Testing
PROS
 Development time and cost is low
 Easier when large development teams are work...
14

HTML5 – Life cycle management
PROS
 One code base to maintain
 Easy to distribute
 Supports desktop automatically
C...
15

1.
2.
3.
4.

What are enterprise applications
Native vs web based apps
Performance
Customization – often ignored but a...
16

HTML5 Performance


Performance is very important
~40-50% ~80%

Out of every 1000 users 400 never come back if
perfor...
17

Performance
mobile.webapp.perf() < desktop.webapp.perf()
&&
mobile.webapp.perf() < nativeapp.perf()

But why?
Mobile HTML5 performance
bottlenecks
1.
2.
3.

Network
Mobile resource and compute is different
Browsers are lagging
 Des...
19

Repaint CPU profile on Xcode
20

Tools
1.
2.
3.
4.

5.
6.

Network tab in Developer view of browsers
Profiling functionality in your browsers
Xcode pro...
21

1.
2.
3.
4.

What are enterprise applications
Native vs web based apps
Performance
Customization – often ignored but a...
22

Application Customization
23

Architectural impact






Provide hook points in the original app
Create an extension app, which has all the cont...
24

Runtime Vs. Buildtime merge




DOM manipulation as the different views are
fetched and interpreted by the JS lib
Ru...
25

Don’t forget





To allow extensions in your service layer
Backend
Know your service and how much data it returns...
26

What else have we
learnt?
27

Summary of lessons learnt
DESIGN
 Design driven apps: Understanding the user
 Everything is changing
DEVELOPMENT
 W...
28

Declarative navigation
29







Hire rock star CSS experts
No JS library is a silver bullet. You will end up using
several of them and they ...
30

SUPPORTABILITY OF APPS
 Error codes have to much more informative
 The system trace has to be there .. Is it on the ...
Thank you for listening. I am done…
What else do you want to talk about?

Manish Garg
@manishgarg

31
Próxima SlideShare
Cargando en…5
×

Web based, mobile enterprise applications

576 visualizaciones

Publicado el

What are enterprise apps? should you build a native or a html5 mobile app?
How is the performance of HTML5 on mobile and other lessons learnt form building web based mobile apps for enterprises.

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Web based, mobile enterprise applications

  1. 1. WEB BASED, MOBILE ENTERPRISE APPLICATIONS Manish Garg @manishgarg
  2. 2. 2 What are we going to cover 1. 2. 3. 4. What are enterprise applications Native vs web based apps Performance Customization – often ignored but always required
  3. 3. 3 1. 2. 3. 4. What are enterprise applications Native vs web based apps Performance Customization – often ignored but always required
  4. 4. 4 What is happening in Enterprise     Democratization and Consumerization of IT Shift from features and functionality to design Mobile and bring your own device Companies have direct access to enterprise users
  5. 5. 5 1. Enterprise apps   Mission critical applications that power the large companies Think of manufacturing, retail, banking, automotive, public sector, defense, …
  6. 6. 6 Now think of 1000s of companies running 100s of processes
  7. 7. 7 How are enterprise apps different?         Design driven; consistency in design We are not talking about single web app May not hosted be but shipped Need for extensibility (and support upgrades) Robust, Responsive User management and LDAP integration Downtime management Security, authentication, authorization
  8. 8. 8 Architectural requirements checklist 1. 2. 3. 4. 5. 6. 7. 8. 9. Responsive design Security, SSO integration Globalization and internationalization Native Vs. Web Based Performance Customization or Extensible Integrate with customer landscape Open source and 3rd party legal compliance …
  9. 9. 9 1. 2. 3. 4. What are enterprise applications Native vs web based apps Performance Customization – often ignored but always required
  10. 10. 10 Native or HTML5 BIG decision Depends on the use case
  11. 11. 11 HTML5 is great for most use cases   80% of the functionality can be covered, including graphs 20% needs native support  Image processing  Barcode scanning  Access to some other H/W features  Offline
  12. 12. 12 HTML5 – Design impact PROS  Consistent design and UX  Designers can provide several development assets (CSS, HTML, …) CONS  Smooth animations and transitions difficult to achieve  Design had to be adjusted to accommodate performance or missing native support  Performance
  13. 13. 13 HTML5 - Development and Testing PROS  Development time and cost is low  Easier when large development teams are working together  Testing is easier CONS   Simple goals turned into huge tasks (scrolling, …) Testing across many devices is still a pain
  14. 14. 14 HTML5 – Life cycle management PROS  One code base to maintain  Easy to distribute  Supports desktop automatically CONS Many changes expected
  15. 15. 15 1. 2. 3. 4. What are enterprise applications Native vs web based apps Performance Customization – often ignored but always required
  16. 16. 16 HTML5 Performance  Performance is very important ~40-50% ~80% Out of every 1000 users 400 never come back if performance is bad
  17. 17. 17 Performance mobile.webapp.perf() < desktop.webapp.perf() && mobile.webapp.perf() < nativeapp.perf() But why?
  18. 18. Mobile HTML5 performance bottlenecks 1. 2. 3. Network Mobile resource and compute is different Browsers are lagging  Desktop browsers are far ahead than the mobile browsers 4. 5. Caching and local storage. Debugging and profiling 18
  19. 19. 19 Repaint CPU profile on Xcode
  20. 20. 20 Tools 1. 2. 3. 4. 5. 6. Network tab in Developer view of browsers Profiling functionality in your browsers Xcode profiling chrome://tracing/ Yslow originally from Yahoo Google Refine, now called Open Refine – to analyze the performance logs
  21. 21. 21 1. 2. 3. 4. What are enterprise applications Native vs web based apps Performance Customization – often ignored but always required
  22. 22. 22 Application Customization
  23. 23. 23 Architectural impact     Provide hook points in the original app Create an extension app, which has all the context from the original app New views and navigations are game Run time aggregation versus build time aggregation Think of AngularJs Directives
  24. 24. 24 Runtime Vs. Buildtime merge   DOM manipulation as the different views are fetched and interpreted by the JS lib Run a build script to merge the Views to improve runtime performance
  25. 25. 25 Don’t forget     To allow extensions in your service layer Backend Know your service and how much data it returns. Customization != Personalization
  26. 26. 26 What else have we learnt?
  27. 27. 27 Summary of lessons learnt DESIGN  Design driven apps: Understanding the user  Everything is changing DEVELOPMENT  Web based apps are faster to develop on a large scale  Batch reads and writes are faster  Allow for easy application extensions  Declarative programming works better in many scenarios
  28. 28. 28 Declarative navigation
  29. 29. 29     Hire rock star CSS experts No JS library is a silver bullet. You will end up using several of them and they all have to be integrated You will spend a lot of time with JS lib exploration Hardware acceleration  Use -webkit-transform: translate3d
  30. 30. 30 SUPPORTABILITY OF APPS  Error codes have to much more informative  The system trace has to be there .. Is it on the server, backend, UI … TESTING  Keep an eye on performance – always  Don’t wait to test on mobile
  31. 31. Thank you for listening. I am done… What else do you want to talk about? Manish Garg @manishgarg 31

×