Tópicos abordados
Requisitos
Nós vamos usar Xcode 11+ nesse exemplo, então se você ainda não instalou, é necessário fazer o download na AppStore.
Passo 1: Abra o seu Xcode e clique em File -> New -> Project.
Passo 2: Selecione a opção App e clique em ‘Next’.
Passo 3: Nomeie o seu projeto, selecione a interface como Storyboard, linguagem Swift e clique em ‘Next’.
Passo 4: Informe onde deseja salvar seu projeto e confirme.
Você pode instalar o Beagle utilizando o SPM (Swift Package Manager), Cocoapods ou o Carthage. Escolha um e siga os passos abaixo:
Esta documentação é referente a versão: v2.1
Aqui você precisará apenas do Xcode. Mais sobre Swift Package Manager: https://swift.org/package-manager
Passo 1: Clique em File -> Swift Packages -> Add Package Dependency.
Passo 2: Entre com a URL do pacote do Beagle: https://github.com/ZupIT/beagle.git
e clique em ‘Next’.
Passo 3: Confirme a versão do Beagle, clique em ‘Next’ e deixe o Xcode resolver o pacote.
Passo 4: Na última caixa de diálogo, atualize a coluna Add to Target colocando o target que deveria importar o Beagle
.
Você conseguiu instalar o Beagle com sucesso utilizando o SPM!
Passo 1 : Adicione o Beagle no vetor dependencies
e escolha a versão que você quiser, como a 1.8.0, por exemplo.
dependencies: [
.package(name: "Beagle", url: "https://github.com/ZupIT/beagle.git", from: "${beagle.version}"}}),
]
Passo 2: Adicione o Beagle como uma dependência do target da sua aplicação:
targets: [
.target(name: "MyApp", dependencies: ["Beagle"], path: "Sources")
]
Agora o Beagle já faz parte do seu package.swift.
Você vai precisar do Cocoapods instalado e o Terminal.
Passo 1: Navegue até a pasta raiz do seu projeto e rode o comando pod init
que irá criar um arquivo Podfile.
Passo 2: Edite seu Podfile colocando o nome da pod do Beagle, como o código abaixo:
target 'MyApp' do
pod 'Beagle'
end
Passo 3: Rode o comando pod install
e assim as dependências serão resolvidas em um Workspace.
Passo 4: Agora abra o Workspace criado e a partir de agora você sempre irá trabalhar por ele.
Você instalou com sucesso o Beagle pelo Cocoapods!
Aqui, você precisa do Carthage instalado e do Terminal.
Passo 1: Navegue até a pasta raiz do seu projeto e execute o comando touch Cartfile
para criar um arquivo Cartfile para nós.
Passo 2: Abra o Cartfile e coloque o link do nosso repositório da seguinte forma github "ZupIT/beagle" ~> ${beagle.version}
, escolhendo a versão que você queira.
Passo 3: Agora você precisa checar a versão do seu Xcode e seguir os passos a seguir:
Para Xcode 12+, você irá precisar do Carthage v0.37+. Assim você conseguirá rodar o comando carthage udpate --use-xcframeworks
. Esse comando vai criar xcframeworks pra gente.
Para Xcode abaixo do 12, apenas rode o comando Carthage update
e ele vai criar os xcframeworks pra gente.
Passo 4: Acesse a pasta raiz do seu projeto -> Carthage -> Build. Pegue a pasta Beagle.xcframework e arraste-a até o Xcode -> yourProject.xcodeproj -> Targets -> yourProject -> General -> Frameworks, Libraries e Embedded Content.
Passo 5: Para rodar o Beagle, você também precisa do YogaKit. Você pode instalá-lo usando o SPM (Swift Package Manager).
https://github.com/ZupIT/yoga.git
;Você conseguiu instalar o Beagle utilizando o Carthage com sucesso!
Depois da instalação, você precisa configurar o Beagle pra rodar na sua aplicação. Para isso, siga as instruções abaixo:
Passo 1: Crie uma classe BeagleConfig
:
Essa classe contém a parte das configurações iniciais do Beagle. Agora você precisa implementar uma função estática config
, e ela irá aplicar as demais configurações.
import Beagle
import Foundation
class BeagleConfig {
static func config() {}
}
Passo 2: Nessa função, crie uma constante chamada dependencies
do tipo BeagleDependencies
.
Você vai atribuir a essa constante algumas configurações do projeto, por exemplo, a URL base que combinada com uma URL relativa irá trazer um JSON que descreve sua tela server-driven.
Para configurar uma URL base, por exemplo, veja o código abaixo:
import Beagle
import Foundation
class BeagleConfig {
static func config() {
let dependencies = BeagleDependencies()
dependencies.urlBuilder = UrlBuilder(
baseUrl: URL(string: "http://localhost")
)
BeagleConfigurator.setup(dependencies: dependencies)
}
}
Passo 3: Configure a classe SceneDelegate para que você possa utilizá-la para inicializar a sua aplicação com o Beagle a partir de uma tela do BFF:
Dentro do SceneDelegate.swift na função scene
, chame a função BeagleConfig.config()
;
Nomeie o guard let
como windowScene
, o Xcode já criou para você;
Inicialize a variável window
criada fora do escopo da função, utilizando a windowScene
;
Faça o window.rootViewController
como a tela do BFF que você quer mostrar;
Agora chame a função makeKeyAndVisible()
da variável window
.
Seu código deve estar parecido com o modelo abaixo:
import UIKit
import Beagle
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
BeagleConfig.config()
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: windowScene)
window?.rootViewController = BeagleScreenViewController(.remote(.init(url: "/yourScreenRelativeURL")))
window?.makeKeyAndVisible()
}
}
Você pode criar essas camadas usando esses tutoriais:
Se você quiser pular essas configurações, você pode utilizar a biblioteca de apoio do Beagle: Beagle Scaffold contém implementações padrão de camadas de Rede e Log.
No entando, você deve se lembrar que é muito importante customizar sua própria camada de Rede pela segurança.
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.