react-native-template-tibi-basic v0.0.2
Tabela de Conteúdo
Sobre o Projeto
Este projeto visa a criação de um template que possa ser utilizado no momento de criação de projetos utilizando React Native, visto que o processo de instalação e configuração das libs no início de um projeto podem gerar certa complexidade e muitas vezes até erros que atrasam o processo, atrapalhando assim o fluxo de desenvolvimento.
Feito Com
Abaixo segue o que foi utilizado na criação deste template:
- React Native - O React Native é um framework que permite o desenvolvimento de aplicações mobile usando JavaScript e React;
- React Navigation - O React Navigation surgiu da necessidade da comunidade do React Native de uma navegação de forma fácil de se usar e escrita toda em JavaScript;
- React Native Gesture Handler - API declarativa que permite a manipulação de toques e gestos no React Native;
- Axios - O Axios é um cliente HTTP baseado em Promises para Browser e NodeJS;
- EditorConfig - O EditorConfig é um formatador de arquivos e coleções em forma de Plugin para Editores de código/texto com o objetivo de manter um padrão de código consistente entre diferentes editores, IDE's ou ambientes;
Começando
Para conseguir utilizar o template, seja através do React Native CLI ou com uma cópia local dos arquivos, siga os passos abaixo.
Pré-requisitos
Antes de seguirmos para as configurações e uso do template, é ideal que você tenha o ambiente configurado para criar e testar aplicativos em React Native, para isso você pode seguir o guia do link abaixo:
Ambiente React Native (Android/iOS)
Estrutura de Arquivos
A estrutura de arquivos está da seguinte maneira:
tibi-basic
├── src/
│ ├── assets/
│ │ ├── images
│ ├── components/
│ │ └── index.js
│ ├── containers/
│ │ └── initial/
| | └── index.js
| | └── styles.js
│ ├── global/
| | └── colors.js
| | └── index.js
| | └── styles.js
| | └── typography.js
| ├── reducers/
| | └── index.js
| ├── routes/
| | └── index.js
| ├── store/
| | └── index.js
| ├── services/
| | └── api.js
| ├── App.js
├── .editorconfig
├── .gitignore
├── babel.config.js
├── dependencies.json
├── index.js
├── jsconfig.js
├── LICENSE
├── package.json
└── README.mdSerão explicados os arquivos e diretórios na seção de Edição.
Instalação
- Para instalar e utilizar esse template o processo é bem simples, basta criar um projeto novo utilizando o comando:
react-native init AwesomeExample --template tibi-basicCom isso o projeto será criado com todas as dependências do template devidamente instaladas e linkadas, tal como os arquivos de configuração que são copiados para o projeto.
Passo Adicional no Android
Para que os gestos sejam habilitados no Android é necessário um passo a mais, que é bem simples, abra o arquivo android/app/src/main/java/<pacote_do_projeto>/MainActivity.java, e comece importando os pacotes como abaixo:
// ...
import com.facebook.react.ReactActivity;
// Importações adicionadas
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;Feito a importação vamos criar um método novo, logo abaixo do getMainComponentName(), ficando:
public class MainActivity extends ReactActivity {
@Override
protected String getMainComponentName() { ... }
// Método adicionado
@Override
protected ReactActivityDelegate createReactActivityDelegate() {
return new ReactActivityDelegate(this, getMainComponentName()) {
@Override
protected ReactRootView createRootView() {
return new RNGestureHandlerEnabledRootView(MainActivity.this);
}
};
}
}Publicação
Para publicar um template como esse, o processo é bastante simples e rápido.
Crie uma conta no site do NPM;
Com a conta criada execute o comando abaixo e insira suas credenciais;
npm loginBasta abrir o arquivo
package.jsone modificar as informações de acordo com o seu template, mas as informações mais importantes são duas, onamee oversion, que são os únicos que tem restrições, seguem abaixo as restrições:- O
namesempre deve começar com o prefixoreact-native-template-seguido do nome do seu template; - O template deve ser publicado em uma conta pessoal, pois quando publicado em uma Organization é acrescentado o prefixo
@<nome_da_organization>no nome do pacote; - O
namedeve ser único, não podendo ser igual ao de um template já publicado; - A
versiondeve ser atualizada a cada publicação, se o template está na versão 0.0.1 e é preciso publicar uma atualização no mesmo, aversiondeve ser diferente e superior a versão atual, por exemplo, 0.0.2;
- O
Após configurar corretamente o
package.jsonbasta executar no terminal/prompt o comandonpm publish;Com a publicação finalizada o template deve ficar disponível através do link
https://www.npmjs.com/package/react-native-template-<nome_do_template>.
Contribuição
Contribuições são o que fazem a comunidade open source um lugar incrível para aprender, inspirar e criar. Qualquer contribuição que você fizer será muito apreciada.
- Faça um Fork do projeto
- Crie uma Branch para sua Feature (
git checkout -b feature/FeatureIncrivel) - Adicione suas mudanças (
git add .) - Comite suas mudanças (
git commit -m 'Adicionando uma Feature incrível!) - Faça o Push da Branch (
git push origin feature/FeatureIncrivel) - Abra um Pull Request
Licença
Distribuído sob a licença MIT. Veja LICENSE para mais informações.
6 years ago