Your SlideShare is downloading. ×
Enterprise-приложения:  Web против Objective C
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Enterprise-приложения: Web против Objective C

189
views

Published on

Михаил Шевчук, Dino Systems

Михаил Шевчук, Dino Systems

Published in: Internet, Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
189
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ©2014 RingCentral, Inc. All rights reserved.1 Enterprise-applications: Web versus Objective C. How we started to use Web-technologies rather than native code on mobile devices.
  • 2. ©2014 RingCentral, Inc. All rights reserved.2 Cloud Phone System for Business • Voice, Fax, Text, Conferencing, Video • Across all your locations • Easily adapts to your business requirements • Trusted by more than 300,000 companies
  • 3. ©2014 RingCentral, Inc. All rights reserved.3 Enterprise today
  • 4. ©2014 RingCentral, Inc. All rights reserved.4 Manage your system anywhere
  • 5. ©2014 RingCentral, Inc. All rights reserved.5 Enterprise App: How? • Accessible from Any Device • Unified Business Experience • Natural Behavior • Minimal Development Efforts • Minimal Time to Address Changes
  • 6. ©2014 RingCentral, Inc. All rights reserved.6 Native App
  • 7. ©2014 RingCentral, Inc. All rights reserved.7 Web App
  • 8. ©2014 RingCentral, Inc. All rights reserved.8 Combined Architecture Application Native Code VoIP Phone Contacts Notifications Embedded Web Browser Account Settings Web App
  • 9. ©2014 RingCentral, Inc. All rights reserved.9 Web Application Types VS Thick Thin Responsiveness Traffic Economy Rich UI Elements Works on slow devices
  • 10. ©2014 RingCentral, Inc. All rights reserved.10 Another One Fat Client Problem… Loading…
  • 11. ©2014 RingCentral, Inc. All rights reserved.11 Fat Client Components Application Core UI Library Forms Business Logic Localization Images
  • 12. ©2014 RingCentral, Inc. All rights reserved.12 One Screen At A Time
  • 13. ©2014 RingCentral, Inc. All rights reserved.13 Web Application Decomposition Base Core UI Library Screen Business Logic Localization Images Template Screen Business Logic Localization Images Template Screen Business Logic Localization Images Template
  • 14. ©2014 RingCentral, Inc. All rights reserved.14 Screen Compilation en.lang PNG Screen Business Logic Localization Images Template PNG HTML JS Base64 ZIP
  • 15. ©2014 RingCentral, Inc. All rights reserved.15 Dev 2 Pro Images Core UI Lib Screen-1 JS Screen-1 HTML Start Package Start.js.zip Screen 1 Screen1.js.zip Screen-2 JS Screen-2 HTML Screen 2 Screen2.js.zip Localization
  • 16. ©2014 RingCentral, Inc. All rights reserved.16 Interesting problems that we've faced with? function () { someCode ... if (someValue) { function doGoodStuff() {} function doOtherGoodStuff() {} doGoodStuff() doOtherGoodStuff() } ... }
  • 17. ©2014 RingCentral, Inc. All rights reserved.17 Why? Block: { StatementList } FunctionDeclaration is not a Statement in every ECMAScript implementation
  • 18. ©2014 RingCentral, Inc. All rights reserved.18 3rd Party Libraries* * - some info may be out of date • Was not mature enough • Slow demos • Hard to customize • Performance issues • iOS-specific, Android version looks weird No need to support Windows & Blackberry, so that specific code can be dropped
  • 19. ©2014 RingCentral, Inc. All rights reserved.19 Callback Hell doSomething1( doSomething2And3 ); function doSomething1(callback) { callback(); } function doSomething2And3(callback) { doSomething2(doSomething3); } function doSomething2(callback) { callback(); } function doSomething3() { ... doSomething4(); } function doSomething4() { } $do( doSomething1 ); $do( doSomething2, doSomething3 ); $do( doSomething4 ); function doSomething1( callback ) { callback(); } function doSomething2(callback) { callback(); } function doSomething3(callback) { callback(); } function doSomething4( callback ) { callback(); }
  • 20. ©2014 RingCentral, Inc. All rights reserved.20 Thank You!