Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mobile Fresh

Mobile Fresh

In this talk Alexey will once again compare Web and Mobile, but this time with a little twist. alexey will be talking about the problems he encountered in Mobile, which does not arise in the Web, and what solutions were found. Talk will have a number of plot twist and will include the following topics:
- Why Web and Mobile are so different?
- Common pitfalls in Mobile projects
- Comparison of Mobile solutions
- How can we improve Mobile

Alexey Buzdin

January 23, 2014
Tweet

More Decks by Alexey Buzdin

Other Decks in Programming

Transcript

  1. Table of Content • Mobile vs Web++ • What makes

    Web simple and attractive • What are the pitfalls developing mobile apps • Android vs iOS • Interesting Android facts @AlexeyBuzdin! [email protected] LArchaon
  2. DISCLAIMER All characters, events, thoughts and ideas used in this

    presentation — even those based on real life — are entirely fictional and purely subjective to speaker opinion. :)
  3. Mobile as we know it today June 29, 2007 -

    7 years ago July 9, 2008 - 6 years ago
  4. Number of mobile phones to exceed world population by 2014

    http://www.digitaltrends.com/mobile/mobile-phone-world-population-2014/ iOS and Android - 1 million+ apps
  5. ! - (IBAction)buttonClick:(id)sender { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Caption"

    message:@"Hello World" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; ! [alert show]; } @property (weak, nonatomic) IBOutlet UIButton *button;
  6. I smell trouble • @property (weak, nonatomic) IBOutlet UIButton *button

    ! • Every time Xcode opens a XIB / Storyboard, it will also change a minute detail in the XML format. Are you using version control system? ! • Merges on XIBs and Storyboards can go horribly wrong, because their XML formats were not meant to be merged.
  7. Cross platformers • Must be a native app-store app •

    Must use native-looking UI controls. • Must perform, even last-gen phones • Must support at least iPhone & Android & WP • Must have extensive documentation and community • Must upgrade to new OS releases in time
  8. Embedded WebView iOS UIWebView lacks Nitro Javascript engine. This makes

    executing Javascript much slower compared to Safari.
  9. Cross platformers • Must be a native app-store app •

    Must use native-looking UI controls. • Must perform, even last-gen phones • Must support at least iPhone & Android & WP • Must have extensive documentation and community • Must upgrade to new OS releases in time [Plausible] [Confirmed] [Plausible] [Plausible] [Plausible] [Confirmed]
  10. Android libraries? • HoloEverywhere - backport Holo theme & widgets

    from Android 4.* to 2.1+ • Robolectric - run test inside the JVM on your workstation in seconds. • RoboGuice - framework that brings the simplicity and ease of Dependency Injection to Android • AndroidAnnotations - framework that speeds up Android development using annotations. • ActionBarSherlock - backport ActionBar from Android 4.* to 2.1+
  11. Backport and optimisation • No ActionBar in Android < 3.0

    • No Fragments in Android < 3.0 • Kindle, OUYA, etc markets require additional configs • iOS7 features does not work on <iOS7 (3G, 3GS) • Supporting iPhones and iPads require additional work
  12. Memory management Image Screen 2 Image Screen 1 Memory leak!

    Passing image from one screen to another …