Skip to content
This repository has been archived by the owner on Jul 22, 2023. It is now read-only.

Latest commit

 

History

History
46 lines (31 loc) · 5.08 KB

VISION.md

File metadata and controls

46 lines (31 loc) · 5.08 KB

fastlane’s Philosophy

fastlane automates the beta and release deployment process for your iOS or Android apps, including build, code signing, automatic screenshot capture, and distribution of your app binaries.

fastlane will continue to evolve in ways that make it indispensable for, and focused on these needs.

fastlane aims to be elegant in success, and empathetic in failure.

fastlane provides intelligent defaults for options, prompts for missing information, and a context that automatically shares relevant information between actions. All of this allows a simple, elegant Fastfile to do a lot of powerful work.

Since errors are inevitable, fastlane should show empathy and provide a suggested solution, or attempt to solve the problem automatically. Errors that can be anticipated should not crash fastlane, and should present users with a friendly message that is easy to spot in their terminal or logs.

Actions and Plugins

fastlane saw a lot of early growth through a wide number of actions that meet a variety of needs. Actions can trigger built-in fastlane tools, talk to external tools and services, and more. However, with more than 170 built-in actions, further growth here will make fastlane harder to understand and get started with. Another consideration is that actions which ship with fastlane represent a maintenance cost for the fastlane core team.

With these challenges in mind, fastlane plugin system allows anyone to develop, share, and use new actions built and maintained by the awesome fastlane community. If you have an idea for a new fastlane action, create it as a plugin and it’ll be automatically listed in the fastlane plugin registry. The most impactful and commonly used plugins could be adopted into fastlane in the future.

fastlane Tool Responsibilities

Each fastlane tool has a specific purpose and should be kept focused on the functionality required for that task.

  • deliver: Upload screenshots, metadata, and your app binary to the App Store
  • supply: Upload your Android app and its metadata to Google Play
  • snapshot: Automate taking localized screenshots of your iOS apps on every device
  • screengrab: Automate taking localized screenshots of your Android app on every device
  • frameit: Quickly put your screenshots into the right device frames
  • pem: Automatically generate and renew your push notification certificates
  • sigh: Because you would rather spend your time building stuff than fighting provisioning
  • produce: Create new iOS apps on App Store Connect and Apple Developer Portal using the command line
  • cert: Automatically create and maintain iOS code signing certificates
  • spaceship: Ruby library to access the Apple Developer Portal and App Store Connect
  • pilot: The best way to manage your TestFlight testers and builds from your terminal
  • boarding: The easiest way to invite your TestFlight beta testers
  • gym: Building your iOS apps has never been easier
  • match: Easily sync your certificates and profiles across your team
  • scan: The easiest way to run tests for your iOS and Mac apps
  • precheck: Check your app using a community driven set of App Store review rules to avoid being rejected

fastlane’s Relationship with Google

Google supports app development teams with the best tools for building, understanding, and growing their mobile app businesses through Firebase and Fabric.

Google has recognized fastlane as the best tool for tackling tough beta and release deployment challenges. The team’s mission is to make fastlane the de facto tool to automate beta deployments and app store releases for iOS and Android apps.

Google intends to keep fastlane open source and available as a standalone tool for users who are not using Firebase or Fabric. Google is also committed to increasing use of fastlane by promoting it through other products and websites, and developing integrations with Firebase and Fabric tools to help them work better together.