Silicon Valley Code Camp : October 7 & 8, 2017

Siamak Ashrafi

About Siamak
Ash - CTO @ ZoeWave building physiologically intelligent clothing called ZoeWear. Combining biotech, mobile and fashion to build clothing that keeps people healthy while looking great*. Zoe(“life”)Wear “wearable for life” is built on his experience in all three fields
{speaker.firstName} {speaker.lastName}

Speaking Sessions

  • iOS: The Best Parts

    9:00 AM Sunday   Room: Town Square A
    This session starts with a review of how to build “Real World” not “Hello World” iOS Apps. We dive into the best architecture, design patterns, libraries, components, tools, tips, tricks and common mistakes to avoid before writing your first line of code. After setting the context we start to learn the language using “A Swift (4.0) Tour” Playgrounds.

    Followed by “Start Developing iOS Apps (Swift)”. “Start Developing iOS Apps (Swift) is the perfect starting point for learning to create apps that run on iPhone and iPad. View this set of incremental lessons as a guided introduction to building your first app—including the tools, major concepts, and best practices that will ease your path.”

    We finish the session by examining the similarities between Kotlin & Swift / Material Design & Apple HIG / Android Studio & XCode / Play Store & App Store. The similarities will shock you :-)

  • Android Architecture & Material components with Kotlin.

    1:00 PM Sunday   Room: Fireside D
    It has always been said that Android is not a complete platform. The app developer must include several popular libraries as a base just to start to build a simple app. Now Google has expressed the same sediment. The four App components of Android (Activities, Services, Broadcast receivers and Content providers) are not the building blocks of an Android app but a contract between the OS and Application. App developers need to rebuild the basic building blocks whenever starting a new App. This causes many problems for developers and leads to ambiguity about how to best build a robust App.

    Google is looking to remedy this problem by releasing the Android Architectural Components (Room, Lifecycle-aware components, ViewModels and LiveData). While they individually address developer pain points (Persist Data, Manage Lifecycles, Modular & remove errors) they also work together to implement a sane app architecture. In this talk we will detail each components functions and benefits

    Once we have a clear understanding of the Architectural Components we will explain how they work together to form a robust reference architecture. Common architectural principles: The most important thing you should focus on is the separation of concerns in your app.

    The second important principle is that you should drive your UI from a model, preferably a persistent model.

    We end the talk by reviewing how these new components replace and interact with current popular Android libraries.