v3.0 (c) 2022 Infusões de grandeza - escrito por: Eric Crichlow
O IOGInfrastructure é uma estrutura projetada para facilitar tarefas comuns e mundanas do desenvolvimento de aplicativos móveis, como comunicações de back-end, persistência de dados e inflação de objetos de negócios. Junto com eles, também ajuda no gerenciamento de blocos de código, normalmente relacionados às comunicações de back-end, que inicialmente falham e precisam ser tentadas novamente, até que tenham sucesso ou até que falhem bastante tempo que o aplicativo desiste da tentativa. Isso é referido como gerenciamento de tentativa.
A maioria dessas funções já existe em estruturas bem estabelecidas, então por que apresentar uma nova?
Duas razões. One, most of the existing frameworks are extremely big, one might even say, bloated, offering far more functionality and flexibility than is needed by most applications, and, more importantly, this framework is implemented and available for both iOS and Android, such that an application that needs to be developed for both platforms can utilize the same framework for basic infrastructure functionality, significantly accelerating the development of both codebases, resulting in almost line-by-line Implementação compatível de aplicativos nativos, não confiando em tecnologias cluvas de plataforma cruzada.
Versão 1.1: versão pública inicial
Versão 2.0: Adiciona armazenamento seguro, URLs base de vários API, tipos de solicitação de dados personalizados e IOGDataObject codificável; Alterado de objetos de coleção de fundação para objetos rápidos de coleção nativa; Limpe os avisos
Versão 3.0: Alterar para um projeto Swift Package Manager; suporte adicionado para grafql; Suporte adicionado ao DOCC
iOS 13.0
MacOS 10.10
TvOS 13.0
WatchOS 7.0
Esta é a classe que lida com o armazenamento de dados. Ele suporta esse armazenamento na memória, nos padrões do usuário ou em um arquivo. Ele suporta armazenar dados com segurança (criptografado). E permite que os dados sejam armazenados apenas para a sessão atual ou para ter uma data de validade ou sejam permanentes.
Esta é a classe que lida com as comunicações de back-end. Ele lida com grandes conjuntos de dados retornados nas páginas e gerencia várias solicitações simultâneas. Sob a enumeração "iogdatarquesttype", são definidos os tipos de solicitações que a classe suporta. Esta é uma conveniência para os clientes da classe identificarem a que tipo de solicitação está sendo respondida. Adicione suas próprias entradas a esta enumeração para seus próprios tipos de solicitação personalizada.
Esta é a classe que lida com uma solicitação exclusiva e todos os detalhes de solicitação e resposta associados a ela.
Esta é a classe que lida com a inflação da classe de objeto de negócios. Os dados JSON geralmente retornam de uma chamada de back-end e o analisam em uma classe definida para um objeto de negócios específico.
Esta é a classe que os clientes subclassem para criar objetos de dados comerciais personalizados apenas com as propriedades específicas relevantes para o objeto de negócios.
Esta é a classe que gerencia a execução atrasada e repetida de um bloco de código, permitindo que o chamador determine quando o fluxo de trabalho concluiu e as tentativas de nova tentativa não são mais necessárias.
Esta é a classe que lida com as interações GraphQL. Ele inspeciona dinamicamente objetos de negócios que são subclasses de "ioggqldataObject" e cria seqüências de consultas e mutação para eles, faz solicitações ao servidor GraphQL e retorna objetos povoados ou matrizes desses objetos. Sob a enumeração "IOGGQLRequestType", são definidos os tipos de solicitações que a classe suporta. Esta é uma conveniência para os clientes da classe identificarem a que tipo de solicitação está sendo respondida. Adicione suas próprias entradas a esta enumeração para seus próprios tipos de solicitação personalizada.
Esta é a classe que os clientes subclassem para criar objetos de dados de negócios grafql personalizados apenas com as propriedades e mutações específicas relevantes para o objeto de negócios.
Instale a opção de menu de arquivo Xcode "Add Packages ..."
Faça referência ao pacote usando este URL: https://github.com/ecrichlow/ioginfrastructure-ios.git
Quanto à utilização das classes contidas neste projeto, a maneira mais fácil de aprender a usá -las é observando as classes de teste de unidade. Eles dão grandes detalhes sobre como desempenhar cada função.
É importante notar que as classes IogDatamanager, IegretyManager e IogGQLManager suportam respostas de transmissão a vários delegados e, portanto, são fornecidos métodos "registringDelegate" e "não registrados" são fornecidos para cada classe.
O IOGPERSISTENCEMANAGER pode apenas com segurança (criptografada) strings da loja.
Perguntas ou sugestões podem ser enviadas para [email protected]
Copyright (c) Infusões de 2018
Licenciado sob a licença Apache, versão 2.0 (a "licença"); Você não pode usar esse arquivo, exceto em conformidade com a licença. Você pode obter uma cópia da licença em
http://www.apache.org/license/license-2.0
A menos que exigido pela lei aplicável ou acordada por escrito, o software distribuído sob a licença é distribuído "como está", sem garantias ou condições de qualquer tipo, expressa ou implícita. Consulte a licença para o idioma específico que rege as permissões e limitações sob a licença.