What does HackerNews think of fastlane?

🚀 The easiest way to automate building and releasing your iOS and Android apps

Language: Ruby

#41 in Android
#4 in Deployment
#201 in Hacktoberfest
#25 in iOS
#8 in Mobile
#26 in Ruby
For context, fastlane is “a tool for iOS and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application.”

https://github.com/fastlane/fastlane

Google seems to have acquired(?) it in 2017: https://krausefx.com/blog/fastlane-is-joining-google I would guess this means they hired the lead developer(s) and funded a team to work on the project.

Have been doing iOS programming with Swift 2.5 days per week for a bit less than a year now. The first step I took was to read through Apple's Official Swift Language Guide[0]. After completing this I followed the Stanford course on iOS Development with Swift[1]. I didn't spend much time on this, I did this in a Friday afternoon(language guide) and full weekend(watching lectures), since I believe more in learning by practicing.

I've really come to like Swift as a language, since it's concise and simple. The iOS SDK however is not so much fun. Learning the iOS SDK will take a lot of time before you develop routines to approach your problems. I'm still learning about strange behaviour from the SDK and getting frustrated by it every time I use it. It's important to keep things fun, look through the trending Swift repositories on GitHub, follow #iosdev on Twitter and /r/iosprogramming, you will learn a lot if you keep up to date with these sources.

Some of the habits I've created, which might be handy to other people:

- I manage dependencies with CocoaPods, with no dependencies residing in my repository.

- I don't use storyboards or xib's at all. Everything I do is with SnapKit[2]. This takes some time to learn, but it greatly improves the diffs and overview on how the ui elements are constrained and set up.

- I use API endpoint enums which get called by an API Handler, which uses Alamofire[3] to execute the api requests.

- I try to use as many tools provided by Fastlane[4]. Especially if you're developing many Apps, or incrementally building an App, releasing a new version every two weeks: automate all the things. Otherwise you will waste so much time simply waiting for a process to complete.

Side note(if you're interested):

I'm currently developing a tool called Evans(will write a blog post as soon as it's reasonably finished), which performs all kinds of routines automatically. It for example listens to GitHub comments like '@evans screenshots' on a pull request. Evans then emits a request to one of the build slaves, which retrieves the branch, builds the project and runs the screenshot routine, puts the screenshots in an s3 bucket and posts a link as a response in the pull request.

[0] - https://developer.apple.com/library/ios/documentation/Swift/...

[1] - https://itunes.apple.com/us/course/developing-ios-8-apps-swi...

[2] - https://github.com/SnapKit/SnapKit

[3] - https://github.com/Alamofire/Alamofire

[4] - https://github.com/fastlane/fastlane