Projeto [Listas] Parte 2

Iniciando o projeto

Aplicativo Mobile

Um projeto desse tipo não faria muito sentido se não fosse mobile, até porque geralmente quando vc lembra de alguma coisa sempre está fora de casa ou do escritório, mas sempre estamos com o SmartPhone à mão.

Fiz um esboço rápido do que eu imagino como será o aplicativo final, digo esboço pois sempre uma coisa ou outra acaba mudando, ou novas idéias acabam surgindo, e como estou fazendo esses posts “Ao Vivo”, ou seja, não estou documentando um projeto ja feito, e sim estou criando os posts a cada etapa do desenvolvimento, com certeza alguma coisa irá mudar ao longo da execução do projeto.

Mockups

Mockup seguindo ao pé da letra é um modelo ou uma representação em escala ou de tamanho real de um projeto ou de um dispositivo, trocando em miudos mockup é utilizado para representar uma ideia mais próximo possivel do resultado final, no desenvolvimento de aplicativos/sistemas isso é muito importante, pois com este esboço pode-se ter uma ideia de como será o projeto final e quais serão os caminhos para se chegar até ele.

Fiz um esboço inicial utilizando o software Adobe XD, escolhi esse software pois é uma poderosa ferramenta para desenvolvimento de mockups e ensaios sobre UX (User eXperience), este software é gratis (pelo menos até a data em que este artigo foi escrito) para uso pessoal, tonando-se assim uma excelente ferramenta para prototipagem.

UX é um termo utilizado para User eXperience, a experiência do usuário eu diria hoje que é o ponto mais importade no desenvolvimento de qualquer sistema, pois não adianta ter um App/Sistema excelente mas o usuário não consegue utilizar ele, por exemplo, programadores tem o pessimo hábito (eu me incluo nisso) de desenvolver sistemas complexos para o usuário final, citando o exemplo de mockup a cima, podemos ver na segunda tela onde eu tenho a opção Novo item rápido… onde o usuário só digita um item qualquer e o adiciona a sua lista, isso foi feito pensando na experiência do usuário.
Normalmente o programador pensaria em colocar um botão Adicionar e abrir uma tela para o usuário preencher o item da lista, note que isto também foi feito na tela, pois alguns itens podem ter uma observação especifica, mas na maioria das vezes não, então o usuário tem a opção de utilizar das duas formas.

Para o desenvolvimento dos mockups utilizei o Kit de Interface Google Material Design.
O Material Design é uma linguagem de design desenvolvida pela Google, a grosso modo o material é um padrão para desenvolvimento de interfaces, esse padrão evoluiu dos Cards que foram criados para o Google Now, hoje essa ferramenta foi fundida com o Google Assistente.

A escolha do Material Design se deu porque existem varios frameworks baseados nele, por exemplo o Material-UI que foi desenvolvido utilizando os padrões do Material Design e implementam componentes para React e React-Native, iremos nos aprofundar um pouco mais nessas linguagens no decorrer dos posts.

Funcionalidades

Falando um pouco das funcionalidades do sistema, as listas serão separadas por usuários, ou seja para abrir o App o usuário precisará fazer um Login e apartir deste momente ele conseguirá ver e manipular somente suas listas.

Nas listas pensei também em separá-las por TAGs onde uma TAG poderá pertencer a mais de uma lista, e assim o sistema poderá filtrar itens por tags, por exemplo nas telas acima a lista Posts para o blog tem a tag Projetos, eu poderia criar uma outra lista por exemplo Automação residencial e também adicionar a ela a TAG Projetos, e quando eu clicar na tag Projetos o sistema será capaz de listar todos os itens consolidados que pertencem a listas com a TAG Projetos, facilitando assim a visualização de itens por categoria.

Conslusão

Com este artigo acho que ficou claro a importância de se criar protótipos e definir as ideias antes de começar qualquer projeto, vimos a ferramenta Adobe XD que nos auxilia neste processo, quero deixar claro que existem inumeras ferramentas no mercado para este propósito, a escolha pelo Adobe XD se deu pois é uma ferramenta de facil utilização e também por ser Free para uso pessoal.

Próximos passos

Os próximos passos serão definir as linguagens para desenvolvimento e as tecnologias utilizadas para suporte a este desenvolvimento.

Projeto [Listas] Parte 1

Sobre o Projeto

Ideia

Como sou uma pessoa um pouco desorganizada e que tenta fazer 1000 coisas ao mesmo tempo, sempre tenho um pedaço de papel, ou um grupo no whatsapp comigo mesmo para anotar coisas que preciso fazer/comprar/etc…

Isso se torna um problema pois quase sempre eu esqueço onde anotei, ou depois de varios dias/meses eu vejo a anotação e penso: Puts… esqueci de fazer isso.

Já tentei usar Apps de listas/anotações porém sempre esbarro em alguma falta de um determinado recurso, ou as vezes preciso de mais de um App pois alguns só fazem uma lista simples, outros não permitem mais de uma lista por conta, outros não permitem anexar imagens, etc…

Motivação

Relatado o problema acima, eu venho postergando a execução desse projeto a bastante tempo, sempre falta tempo ou paciência… geralmente computador é a ultima coisa que quero ver durante meu tempo livre hehehe.

Porém eu decidi executar esse projeto por dois motivos, o primeiro é gerar conteudo para o Blog, o segundo motivo é que preciso me aperfeiçoar em algumas tecnologias, e nada melhor do que aprender coisas novas com a mão na massa.

Tecnologia

Uma plataforma que venho utilizando bastante ultimamente é a Amazon Web Services ou simplesmente AWS, além de ser uma plataforma bastante poderosa ela auxilia muito no desenvolvimento e publicação de novos aplicativos, seja ele Web, OnPromise ou Mobile, e a computação em nuvem é um caminho sem volta.
O projeto Listas utilizará uma boa parte da Stack AWS para seu desenvolvimento.
Inicialmente não vou entrar em muitos detalhes do que será utilizado pois na AWS existem mil maneiras de se fazer a mesma coisa, portanto os recursos serão definidos no decorrer do projeto.

O que vem por ai

Inicialmente pretendo criar todo o projeto do zero, e tentar documentar o passo a passo desde o escopo do projeto, prototipagem de telas, documentação dos WebServices, desenvolvimento do aplicativo Web e Mobile, e até mesmo a configuração de todo o ambiente e infra-estrutura em nuvem.

Pretendo publicar um post por semana no Blog mostrando o passo a passo e evolução do projeto nesse tempo.

Hello World!

Nada mais clichê do que iniciar um blog sobre tecnologia com um Hello World.

Sobre o blog

Ideias

Tomei a iniciativa de iniciar este blog pois além de precisar documentar algumas coisas que faço, seja por hobby ou profissionalmente, gostaria de poder ajudar mais pessoas que as vezes estão precisando resolver os mesmos problemas.

Tecnologia

Na pagina sobre falo um pouco sobre minha carreira, e o caminho até aqui, inicialmente pretendo documentar algumas coisas que fiz recentemente, sejam elas sobre automação residencial, programação, cloud computing e falar um pouco sobre novas tecnologias e novos paradigmas.