GoodBarber no AppDays 2016: Feature Template, Open Product...

Mathieu , Dominique , Jérôme e Muriel foram os membros da equipe que estiveram por lá. Como sempre, ficamos muito felizes em conversar com todos dentro e fora do evento, trocando experiências e recebendo feedback sobre o nosso produto. Uma menção especial para Olivier Waubant da l'Atelier des Applis , bem como Julie e Gregory da happyngood , obrigado pelo entusiasmo contagiante!
Feature Templating
A GoodBarber já está há vários anos neste setor. No início, nos dedicávamos em fazer aplicativos personalizados, e acabamos evoluindo para a ferramenta que temos hoje, que possibilita a qualquer um criar seu próprio aplicativo, mesmo sem saber programar.
Durante a conferência, nós apresentamos ao público todo o nosso processo ao longo dos anos para mostrar como fomos gerenciado as transições de um ponto a outro, enfrentando alguns desafios: manter um alto nível de desempenho, minimizando a complexidade e custos de manutenção enquanto o número de projetos em produção aumenta constantemente.

- Dois aplicativos diferentes, geralmente tem mais semelhanças do que se parece.
- Quanto mais aplicativos temos em produção, mais complexo se torna a manutenção.
Com estas observações em mente, parecia lógico pensar nos esforços e investimentos iniciais. O que podemos fazer hoje que irá auxiliar nossos futuros desenvolvimentos amanhã? Até então, estávamos focando na mesma linha de desenvolvimento, criar a base para um aplicativo específico em cada projeto, combinando com módulos genéricos que podem ser reutilizados de diferentes formas.
Então, decidimos olhar para este processo de forma contrária e reverter essa lógica, criando um núcleo de aplicativo genérico, comumente compartilhado em todos os projetos. E construir sobre esse núcleo genérico, com módulos específicos (reutilizáveis ou não) para atender às necessidades de cada cliente. E foi assim que a nossa nova abordagem surgiu!
A nossa filosofia é um compromisso entre duas tendências divergentes:
1) O uso de micro componentes, o que permite uma grande oferta comercial, mas exige a congregação de diferentes módulos para cada projeto.
2) A criação do projeto como um "modelo", onde o aplicativo é um componente independente, o que economiza tempo de desenvolvimento, mas reduz a oferta comercial.
Nossa diretriz: criar componentes de médio porte, responsáveis por uma característica específica.
Esta estratégia introduz algumas restrições antes de lançar o projeto, mas otimiza a etapa de manutenção.
Além disso, para manter a estabilidade dos nossos projetos, decidimos configurar esses componentes, não através de linhas de código, mas com parâmetros descritivos.
O investimento consiste em prever todos os possíveis cenários de utilização de uma dada funcionalidade, para então integrar parâmetros suficientes e que venham a dar mais espaço para a personalização. Como resultado, obtém-se uma estruturados modular, onde cada peça é individualmente testada para facilitar a criação integrada do aplicativo.
Se você quiser saber mais sobre como estamos usando Feature Templating, a gravação da nossa conferência está disponível aqui (a palestra é em francês):
Qual é o status do GoodBarber Open Product?

No papel o GBOP era uma boa ideia, mas na prática vimos que coloca muitas restrições para os desenvolvedores. A forma como este projeto foi pensando força o desenvolvimento de forma nativa para iOS, Android e Web. O que é uma carga de trabalho muito pesada! Além disso, os desenvolvedores alfa nos informaram que se torna difícil o uso do aplicativo no back office e para as compilações implica em uma perda de fluidez que afeta a venda do projeto para os clientes. De fato, quando o mecanismo GoodBarber é bifurcado, a compilação do projeto deve acontecer fora do ambiente GB.
Então decidimos repensar o GoodBarber Open Product, e de alguma forma aplicar a filosofia "Feature Template" que mencionamos acima. A idéia é manter um coração nativo muito genérico, mantido pela GoodBarber e capaz de evoluir de forma independente, apesar das interligações com diferentes módulos. Agora, esses módulos, componentes desenvolvidos em Angular JS, irão integrar o app perfeitamente e se torna mais simples o trabalho dos desenvolvedores. Com uma única linguagem, os aplicativos serão enriquecidos, independentemente da plataforma em que operem.
Acreditamos que esta é a melhor abordagem para permitir que terceiros expandam as funcionalidades da GoodBarber. Agora temos que encontrar o tempo para realizar os ajustes necessários para fazer tudo isso funcionar. Nós realmente queremos que isso seja uma possibilidade e, assim que definirmos os próximos passos, definitivamente, vamos levar o projeto adiante.
AppDays, até a próxima!
Fique ligado nas novidades que estão por vir!
Design

