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


41 bookmarks. First posted by bf4 september 2017.


We’ve written quite a bit in the past about our approach to building hybrid mobile apps. Basecamp 3 represents the latest generation of this architecture, taking everything we’ve learned from…
rails  ios 
15 hours ago by aghecht
"For Basecamp 3, we’ve replaced Objective-C with Swift, UIWebView with WKWebView and added Turbolinks, with even more native code, and a deeper integration between native and web."
programming  ios  architecture  hybrid 
november 2017 by ddribin
We’ve written quite a bit in the past about our approach to building hybrid mobile apps. Basecamp 3 represents the latest generation of this architecture,…
instapaper  from instapaper
september 2017 by hskf
One thing we deeply value at Basecamp is independence of teams. If we had to coordinate the development and release of every feature with the web, iOS, and Android teams all working in lockstep, we’d never ship anything. This architecture allows our web team to build a new feature and ship it simultaneously across all platforms. By default, we have a view controller that can display any url in Basecamp 3, so any new urls will just work in the app. We can iterate and experiment on the web, ship immediately on all platforms, and later make it native if feel we can improve the experience.
This also lets us the mobile teams focus on how to best serve the platform. One of our goals is 100% coverage in the mobile apps, you should never have to go to the desktop because the apps don’t support something. With our solid foundation provided by the web, we can deliver on that goal, and then focus our efforts on platform-specific improvements.
web  ios  android  app 
september 2017 by joakin
Turbolinks
september 2017 by drex
We’ve written quite a bit in the past about our approach to building hybrid mobile apps. Basecamp 3 represents the latest generation of this architecture, taking everything we’ve learned from…
ios  mobile  hybrid 
september 2017 by lenciel
We’ve written quite a bit in the past about our approach to building hybrid mobile apps. Basecamp 3 represents the latest generation of this architecture,…
from instapaper
september 2017 by adamlogic
We’ve written quite a bit in the past about our approach to building hybrid mobile apps. Basecamp 3 represents the latest generation of this architecture, taking everything we’ve learned from previous versions.
september 2017 by gzhihao
We’ve written quite a bit in the past about our approach to building hybrid mobile apps. Basecamp 3 represents the latest generation of this architecture,…
from instapaper
september 2017 by divigation
Good detailed look at our hybrid iOS dev approach: 70% webview, 30% native, and how they're connected by
from twitter_favs
september 2017 by samin
Good detailed look at our hybrid iOS dev approach: 70% webview, 30% native, and how they're connected by
from twitter_favs
september 2017 by jeeves
A detailed look at how we do hybrid iOS development, using the Basecamp 3 app as an example: (via )
from twitter_favs
september 2017 by kucingaudio
A detailed look at how we do hybrid iOS development, using the Basecamp 3 app as an example: (via )
from twitter_favs
september 2017 by iwaffles
We’ve written quite a bit in the past about our approach to building hybrid mobile apps. Basecamp 3 represents the latest generation of this architecture, taking everything we’ve learned from previous versions.
IFTTT  Pocket 
september 2017 by deepblue
In our use, we’re referring to standard native apps where a significant portion of the content is rendered using web technology. I explicitly say content there because it is an important distinction. We’re not using a framework that attempts to mimic native controls using HTML/CSS. We’re not using a framework that tries to compile another language to native code, or make a cross-platform app from a single codebase.
app  webdev  iOS 
september 2017 by jayfree
We’ve written quite a bit in the past about our approach to building hybrid mobile apps. Basecamp 3 represents the latest generation of this architecture,…
from instapaper
september 2017 by evanwalsh
For Basecamp 3, we’ve replaced Objective-C with Swift, UIWebView with WKWebView and added Turbolinks, with even more native code, and a deeper integration between native and web.

For us, it means using Xcode + Swift, and conforming to all the platforms conventions regarding navigation/presentation. The building blocks of our app are composed of UINavigationController, UITabViewController, UISplitViewController, UIViewController, etc. Within those containers, we have many screens where the content is built using UITableView or UICollectionView, we have even more where that role is filled by a WKWebView.

he primary code here is a local JavaScript file (written in TypeScript) embedded in the app and injected into the web view using WKUserScript. This provides native code an API for communicating with the web view without needing to directly query the DOM or do complex JS. Using a WKScriptMessageHandler, we can respond to messages sent from the web view through the bridge.
ios-development  hn  mobile-development  best 
september 2017 by hellsten
We’ve written quite a bit in the past about our approach to building hybrid mobile apps. Basecamp 3 represents the latest generation of this architecture, taking everything we’ve learned from…
september 2017 by jokela
The first app for Basecamp 2 app was iPhone only, written in RubyMotion as a thin wrapper around UIWebView. Next, we did a new universal app for Basecamp 2, written in Xcode + Objective-C, still a using UIWebView, but with a bit more native code thrown in. For Basecamp 3, we’ve replaced Objective-C with Swift, UIWebView with WKWebView and added Turbolinks, with even more native code, and a deeper integration between native and web.
development  app 
september 2017 by johanl
We’ve written quite a bit in the past about our approach to building hybrid mobile apps. Basecamp 3 represents the latest generation of this architecture, taking everything we’ve learned from previous versions.
37Signals_Basecamp  37Signals  37Signals_Blog 
september 2017 by GameGamer43
📝 Wrote a bit about the hybrid architecture we use for Basecamp 3 on iOS since I’ve had some people ask for details
from twitter_favs
september 2017 by floehopper
📝 Wrote a bit about the hybrid architecture we use for Basecamp 3 on iOS since I’ve had some people ask for details
from twitter_favs
september 2017 by 61
📝 Wrote a bit about the hybrid architecture we use for Basecamp 3 on iOS since I’ve had some people ask for details
from twitter_favs
september 2017 by bf4