This is the repo for the dev.to iOS app.
Released first version, more info: https://twitter.com/bendhalpern/status/1061323718058786822
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.
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.
- Fork and clone the project.
- Install Carthage. If you use Homebrew then you can install Carthage by running
brew install carthage.
- Now run
carthage updatein the project's root directory.
- Build and run the project in XCode.
- To enforce code style we're using SwiftLint which is loosely based on GitHub's Swift Style Guide. CodeClimate is enabled for this repository, so your pull request build will fail if there are linting errors!
- To install,
brew install swiftlint.
- If you are using Xcode, add a new "Run Script Phase" (Xcode project > Build Phases > add New Run Script Phase):
if which swiftlint >/dev/null; then swiftlint else echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint" fi
This will run on build and show linting errors in Xcode. If you are using a different IDE there are alternative install methods in the SwiftLint docs.
3. Alternatively you can run
$ swiftlint in the root directory.
Feedback and Pull Requests are welcome! As this is a new and constantly evolving project, please be sure to include unit tests with changes.