Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/forem/DEV-ios
DEV Community iOS App
https://github.com/forem/DEV-ios
hacktoberfest
Last synced: 3 months ago
JSON representation
DEV Community iOS App
- Host: GitHub
- URL: https://github.com/forem/DEV-ios
- Owner: forem
- License: gpl-3.0
- Created: 2018-06-22T22:15:23.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2023-11-15T19:34:57.000Z (over 1 year ago)
- Last Synced: 2024-11-11T07:52:13.738Z (3 months ago)
- Topics: hacktoberfest
- Language: Swift
- Homepage:
- Size: 15.5 MB
- Stars: 359
- Watchers: 40
- Forks: 97
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://travis-ci.com/thepracticaldev/DEV-ios)
[](https://github.com/thepracticaldev/DEV-ios/blob/master/LICENSE)
[](https://developer.apple.com/swift)
[](https://codeclimate.com/github/thepracticaldev/DEV-ios/maintainability)
[](https://codeclimate.com/github/thepracticaldev/DEV-ios/test_coverage)# DEV iOS 💖
This is the repo for the [dev.to](https://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
1. Fork and clone the project.
2. Build and run the project in XCode.
3. To enforce code style we're using [SwiftLint](https://github.com/realm/SwiftLint) which is loosely based on [GitHub's Swift Style Guide](https://github.com/github/swift-style-guide). [CodeClimate](https://codeclimate.com) is enabled for this repository, so your pull request build will fail if there are linting errors!
1. To install, `brew install swiftlint`.
2. If you are using Xcode, add a new "Run Script Phase" (Xcode project > Build Phases > add New Run Script Phase):
```bash
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](https://github.com/realm/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.
# Thanks for your help!!!