(2017-09-11) Basecamp3 For Ios Hybrid Architecture

Basecamp for 3 iOS: Hybrid Architecture – Signal v. Noise

First, it helps to be clear about what we mean by “hybrid”. That term is used in so many different contexts, that it’s almost meaningless. In our use, we’re referring to standard native apps where a significant portion of the content is rendered using web technology

We also have screens where the content is a mix of both native and web. This is the case for Campfires

The main chat content here is web, but we decided to use a native view for the input.

Bridge in action. The mobile web is on the left, the app is on the right. The bridge hides the top nav, breadcrumbs, and other elements we want render differently in the app.

Most of our navigation in the iOS mobile app is URL-driven. A url can come from a number of sources (web link, push notification, universal link from another app, native action, etc), and they all go through the Router. This router is responsible for figuring out exactly what action to take for a given url. The router may open the url in Safari if it’s for another domain, display a media viewer if it’s an image/video, or in the common case, create a new view controller to display. The router hands off a view controller off to the Navigator which handles the presentation.


Edited:    |       |    Search Twitter for discussion

No twinpages!