I spent a bit of time building a the beginnings of an iOS app:
DEV iOS 💖
This is the repo for the dev.to iOS app.
Status:
Released first version, more info: https://twitter.com/bendhalpern/status/1061323718058786822
Design ethos
We will grow to include more native code over time, but for now we are taking the approach of native shell/web views. This approach lost favor early in iOS days, but I believe it is a very valid approach these days. It is inspired by how Basecamp does things. Our tech stack is a bit different, but the ideas are the same.
https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture-afc071589c25
https://signalvnoise.com/posts/3743-hybrid-sweet-spot-native-navigation-web-content
https://signalvnoise.com/posts/3766-hybrid-how-we-took-basecamp-multi-platform-with-a-tiny-team
https://www.youtube.com/watch?v=SWEts0rlezA
By leveraging wkwebviews
as much as possible, I think we can make this all pretty awesome and sync up with our web dev work pretty smoothly. And where it makes sense, we can re-implement certain things fully native, or build entirely native features. Life's a journey, not a destination.
Contributing
- Fork and clone the project.
- Build and run the project in XCode.
- …
This is a call for anyone who wants to improve it in any way. I'm not super experienced in this arena, and neither are the other folks on the DEV team. I do think we're taking a good approach to start off (described briefly in the Readme), but you're welcome to debate me on the million ways to build native apps. 😄
By the way, we're actually getting close to open-sourcing our whole codebase. It will happen some time in July. We'll announce a target date at some point next week. We can't wait to give the code back to the community.
Thanks for being wonderful. I look forward to learning from any iOS devs who care to make an issue or PR on this project to improve it in any way.
Happy coding ❤️
Latest comments (26)
I would love to contribute as long as it is native written in Swift. For Android written in Kotlin.
Yep, that's the plan on both sides. Feel free to start messing around with the iOS app, it's not tooooo far from a beta :)
I am a swift developer , I might be able to contribute to create a native app for iOS
Wonderful!
Have you considered a hybrid app development? Like React Native?
This is great, I'll respond to your DMs 😄
Are you looking at creating some screens natively or will it be a web view wrapper? I believe that Basecamp's app pulls some data from an API and shows it natively and then some screens are web focused, depends on the feature set I guess.
Yeah, that’s the idea, but starting with the simplest web view approach and growing from there as seems appropriate. Not looking to rush into anything.
Question: Why not use React-Native for Android and iOS? It works very well.
My first thought, exactly :) Though, I presume that maybe basecamp approach is easier to get started with for RoR developers. AFAIK dev.to is written in RoR.
I’m not sure, but starting with the webview should get us on the way. I’d imagine we can feel around for our needs as we go.
Play Store presence is not required because as soon somebody visits dev.to on Android the browser displays a note at the bottom of the page to add the page to the home screen.
I asked to the DEV twitter account, few months ago, about an API cause I really wanted to start an native android app so if there is an official github repo to build it that's really cool :)
I'm gonna dive in during summer.
Any android dev here to discuss about it with ?
Awesome, have at it!
There's a PWA you can add to your homescreen so an Android app is not necessary. I think the only reason an iOS app is being built is lack of proper support of PWAs on iOS.