- Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ SF Labs
- Π‘ΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ:
- UI - ΠΎΠ±ΡΠΈΠ΅ UI ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ
- API - ΠΏΠΎΡ ΠΎΠ΄Ρ ΠΊ API
- Dump - ΠΏΠΎΠΌΠΎΠΉΠΊΠ° Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ-ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ
- Modules - ΠΠ±ΡΡΠ½ΠΎ - Π½Π°Π±ΠΎΡ UIViewController'ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΡΠ°Π½ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ)
- Bootstrap - Π³Π»Π°Π²Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- ΠΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ΅ΠΊΡΡ in progress..
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° tamplier
brew tap sflabsorg/sf
brew install tamplier
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ
tamplier generate --auth --output ~/Desktop --name AwesomeProject
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Swift Package Ρ Swagger API ΠΏΠΎ YML ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
tamplier api --path {path_to_yml_spec_file} --output ~/Desktop/AwesomeProject
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Bootstrap Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ (Π² ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ)
.package(url: "git@github.com:sflabsorg/bootstrap-ios.git", .branch("master"))
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ main.swift
import UIKit
import Bootstrap
import Modules
import API
class ApplicationDelegate: NSObject, Bootstrap.ApplicationDelegate {
func application(_ application: Application, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]?) -> Bool {
return true
}
}
class WindowSceneDelegate: NSObject, Bootstrap.WindowSceneDelegate {
// MARK: Bootstrap.WindowSceneDelegate
func scene(_ scene: WindowScene, willConnectToSession session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
let viewController = UIViewController()
viewController.delegate = self
scene.setRootViewController(viewController, animated: false)
}
}
let bootstrap = Boot(
ApplicationDelegate(),
WindowSceneDelegate()
)
main(bootstrap)