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

Mobile Fresh

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

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

Avatar for Alexey Buzdin

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 …