parse-community / Parse-Swift

The Swift SDK for Parse Platform (iOS, macOS, watchOS, tvOS, Linux, Android, Windows)
https://parseplatform.org
MIT License
306 stars 69 forks source link

Convert Playgrounds to DocC Interactive Tutorials #325

Open cbaker6 opened 2 years ago

cbaker6 commented 2 years ago

New Feature / Enhancement Checklist

Current Limitation

The SDK supports DocC Interactive Tutorials, but currently has no interactive tutorials. These tutorials can be used to teach developers how to use the SDK.

All of the current tutorials are in Swift Playgrounds.

Feature / Enhancement Description

Use the Swift Playgrounds as a baseline to make Interactive tutorials. These tutorials should include images/screenshots. This is useful when:

  1. A developer wants view our tutorials online at https://parseplatform.org/Parse-Swift/release/tutorials/parseswift/
  2. A developer depends on the Parse-Swift SDK using SPM and goes to "Xcode->Product->Build Documentation" in their project locally

image

The initial tutorial file that should be edited is here: https://github.com/parse-community/Parse-Swift/blob/main/Sources/ParseSwift/Documentation.docc/Your%20First%20Object.tutorial

The Swift Playgrounds should be left intact as they give developers a real way to test the SDK against a Parse Server. Feel free to tackle individual tutorials in separate PR's. You can leverage text from the original Objective-C SDK guide. Much of the Swift Playground code uses completion handlers for asynchronous code. It will be beneficial to write most of the code in the tutorial using try await instead.

Tutorials with a checkbox have already been converted from their Swift Playgrounds counterparts:

Example Use Case

Completed tutorials will look like: https://developer.apple.com/tutorials/swiftui

Videos for Designing DocC Tutorials

Alternatives / Workarounds

Solely depend on Playground implementations for demonstrating how to use SDK.

3rd Party References

https://developer.apple.com/tutorials/swiftui

parse-github-assistant[bot] commented 2 years ago

Thanks for opening this issue!