MicrofrontendGenerator - Script for creating micro frontends for Mobile in a simple and easy way

Overview

Introdução

Template para a criação de SDK iOS.

Existem duas opções de template: Domínio e Microfrontends.

SDKs de Dominio não é mais recomendado, já que no longo prazo ele pode ser tornar um SDK grande e altamente acoplado entre features, dificultando manutenção, elevando tempo de build e assim diminuindo o Lead time do time.

MicrofrontendSDK é altamente recomendado trazendo benefícios como princípios de inversão de dependência e ferramenta de DI.

As principais ideias que sustentam os Micro Frontends

  • São pequenos, independentes e fracamente acoplados. Uma única equipe pequena de desenvolvedores pode escrever e manter.

  • Cada serviço é uma base de código separado, que pode ser gerenciado por uma equipe de desenvolvimento pequena.

  • Os serviços podem ser implantados de maneira independente. Uma equipe pode atualizar um serviço existente sem recompilar e reimplantar o aplicativo inteiro.

  • Os serviços são responsáveis por manter seus próprios dados ou o estado externo. Isso é diferente do modelo tradicional, em que uma camada de dados separada lida com a persistência de dados.

  • Os serviços comunicam-se entre si por meio de deeplinks ou patterns de coordinator bem definidos. Detalhes da implementação interna de cada serviço ficam ocultos de outros serviços.

  • Suporte à programação poliglota. Por exemplo, os serviços não precisam compartilhar a mesma pilha de tecnologia, bibliotecas ou estruturas.

Instalação

  • Instalar ou atualizar brew
  • Instalar ou atualizar bundler

Començando

Para criar SDKDomain

  1. Instalação do rake
cd Scripts && ./tools
  1. Criação do SDKDomain
cd ../ && rake create_domain_sdk [nome_do_dominio]
  1. Projeto é criado na raiz do repo, a partir daqui, você pode copiar e colocar no seu projeto iOS

Para criar MicrofrontendSDK

  1. Instalação do rake
cd Scripts && ./tools
  1. Criação do MicrofrontendSDK
cd ../ && rake create_microfrontend_sdk
  1. Responder as perguntas

  2. Projeto é criado na raiz do repo, a partir daqui, você pode copiar e colocar no seu projeto iOS

Throubleshoot

  • Em alguns casos será necessário rodar o comando sudo
  • Caso você tenha problemas com o .gem apontando para a pasta library você pode alterar o profile do mac e adicionar a linha export GEM_HOME=$HOME/.gem

Contribute

  • Se você encontrou um bug, tem uma nova feature ou quer contribuir, envie uma pull request.
You might also like...
Codepath-intro-prework - Hello World iOS App | Prework Project for CodePath Intro to Mobile App Development
Codepath-intro-prework - Hello World iOS App | Prework Project for CodePath Intro to Mobile App Development

Hello World iOS App App Description Prework Project for CodePath Intro to Mobile

CodePath-iOS-Prework - Prework project for Intro to Mobile App Development course on CodePath
CodePath-iOS-Prework - Prework project for Intro to Mobile App Development course on CodePath

CodePath iOS Prework App Description This app has an input field, text, and seve

Ported scrcpy for mobile platforms, to remotely control Android devices on your iPhone or Android phone.
Ported scrcpy for mobile platforms, to remotely control Android devices on your iPhone or Android phone.

scrcpy-mobile Ported scrcpy for mobile platforms, to remotely control Android devices on your iPhone or Android phone. Currently only supports control

📱Objection - runtime mobile exploration
📱Objection - runtime mobile exploration

objection is a runtime mobile exploration toolkit, powered by Frida, built to help you assess the security posture of your mobile applications, without needing a jailbreak.

BoldContacts mobile app for people with visual/cognitive/motor disabilities
BoldContacts mobile app for people with visual/cognitive/motor disabilities

BoldContacts mobile app BoldContacts™ is a mobile app that helps you browse your contacts and connect with them. BoldContacts is intended for people w

A Simple way help you drop or drag your source (like UIImage) between different App.

A Simple way help you drop or drag your source (like UIImage) between different App.

ZakatFatoora - A simple way to implement e-invoicing (FATOORA) for iOS
ZakatFatoora - A simple way to implement e-invoicing (FATOORA) for iOS

ZakatFatoora - A simple way to implement e-invoicing (FATOORA) for iOS

Appwrite playground - a simple way to explore the Appwrite API & Appwrite Apple SDK

Appwrite's Apple Playground 🎮 Appwrite playground is a simple way to explore the Appwrite API & Appwrite Apple SDK. Use the source code of this repos

Wasmic allows you to run WebAssembly in a safe way on iOS.
Wasmic allows you to run WebAssembly in a safe way on iOS.

wasmic-ios Bootstrap $ git clone https://github.com/kateinoigakukun/wasmic-ios.git $ git -c submodule."fastlane".update=none submodule update --init -

Owner
Julio Fernandes Jr
iOS Developer, Swift, Objective-c, watchOS, tvOS.
Julio Fernandes Jr
This is a simple mobile app which is connect to the Twitter API

Project 3 - My Twitter My Twitter is a basic twitter app to read your tweets. Time spent on two parts: 8.5 hours spent in total Twitter - Part II This

Alem 1 Dec 14, 2022
A simple Hacker News mobile client

A simple Hacker News mobile client. Overview This app was built with the Hacker News API This is one of my first apps outside of a tut

Antonio Vega Ochoa 0 Nov 29, 2021
Template repository for quickly creating boilerplate code for a SwiftUI macOS app.

Sidebar App This is a template repository for quickly creating boilerplate code for a SwiftUI macOS app. License This app is released into the public

apparata 22 Dec 18, 2022
This is a template repository for quickly creating boilerplate code for a SwiftUI macOS menu bar app.

Menu Bar App This is a template repository for quickly creating boilerplate code for a SwiftUI macOS menu bar app. License This app is released into t

apparata 5 Dec 6, 2022
The Bitwarden mobile application is written in C# with Xamarin Android, Xamarin iOS, and Xamarin Forms.

Bitwarden Mobile Application The Bitwarden mobile application is written in C# with Xamarin Android, Xamarin iOS, and Xamarin Forms. Build/Run Require

Bitwarden 4.2k Dec 29, 2022
Puma - A set of build utilities to automate mobile application development and deployment

Puma → https://github.com/onmyway133/Swiftlane Puma is a set of build utilities

Puma Swift 5 Oct 8, 2022
Runtime Mobile Security (RMS) 📱🔥 - is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime

Runtime Mobile Security (RMS) ?? ?? by @mobilesecurity_ Runtime Mobile Security (RMS), powered by FRIDA, is a powerful web interface that helps you to

Mobile Security 2k Dec 29, 2022
This is a basic mobile app that allows the user to tap a button to change the color of a label.

MYAPP App Description `This is a basic mobile app that allows the user to tap a button to change the color of a label. App Walk-though Required User S

null 0 Nov 27, 2021
The Art World in Your Pocket or Your Trendy Tech Company's Tote, Artsy's mobile app.

Meta State: production Point People: Brian Beckerle, Mounir Dhahri, Pavlos Vinieratos CI : This is an Artsy OSS project. Other mobile projects are Ene

Artsy 3.2k Jan 4, 2023
Restaurant - Educational application from the Apple Mobile Development Course for MDA

Restaurant Educational application from the Apple Mobile Development Course for

NIKOLAY NIKITIN 0 Aug 8, 2022