OutSystems no desenvolvimento de aplicações móveis
Contexto
No atual cenário de rápida evolução digital, as aplicações móveis tornaram-se ferramentas indispensáveis para empresas que procuram envolver clientes, agilizar operações e permanecer competitivas.
A OutSystems permitiu que muitas organizações participassem nesta vaga de evolução digital com base na promessa de criar soluções em tempo recorde, particularmente, aplicações móveis, que até então obrigavam as empresas a terem equipa de desenvolvimento e planeamento autónomo.
Este artigo explora o potencial da OutSystems para revolucionar o desenvolvimento de aplicações móveis em contextos específicos.
OutSystems no desenvolvimento de aplicações móveis
O sucesso do desenvolvimento de aplicações Web para consumo interno das empresas (sob a forma de ferramentas de divulgação de informação analítica, construção rápida de formulários, listas de informação…) rapidamente gerou a necessidade de divulgar toda esta informação em dispositivos móveis, reaproveitando o código utilizado nas soluções Web.
A OutSystems oferece uma plataforma de desenvolvimento low-code que recorre a um ambiente de desenvolvimento visual e modelos pré-construídos para simplificar este processo. Assim, o processo de desenvolvimento torna-se mais acessível a profissionais sem o domínio específico de linguagens de programação. Esta solução demonstra ser ainda mais apelativa se considerarmos a diferença entre linguagens de programação para aplicações móveis e linguagens de programação Web.
O processo de criação de uma aplicação móvel em OutSystems vai desde o seu desenvolvimento até a geração dos packages nativos, que podem ser publicados nas respectivas stores (Apple e Google) tal como já acontecia com as aplicações móveis desenvolvidas em linguagens cross-platform e nativas.
Vantagens e desvantagens de se utilizar OutSystems
Como qualquer outra plataforma, a OutSystems tem as suas vantagens e desvantagens.
As vantagens:
Rapidez: A plataforma recorre a low-code e features de drag-and-drop muito visuais para criar aplicações com interfaces modernos, o que permite integrações com vários sistemas de forma rápida e eficiente;
Componentes reutilizáveis: A OutSystems oferece um repositório de componentes pré-construídos e customizáveis que podem ser facilmente integrados. Isto não só acelera o desenvolvimento, como também garante consistência e confiabilidade em diferentes projectos;
Multiplataforma: Permite a criação de aplicações nativas em iOS e Android, utilizando a mesma base de código;
Escalabilidade: A plataforma oferece a escalabilidade vertical e horizontal necessária para a criação de experiências mais complexas ao nível do consumidor final. Podem ser criadas aplicações de nível empresarial, que se expandem para lidar com milhões de utilizadores em simultâneo, sem afectar a velocidade e o desempenho;
Publicações automatizadas: A OutSystems possui a ferramenta Lifetime, que faz a gestão de todo o processo de publicação entre ambientes e a análise de dependências, garantindo que não existem falhas;
Documentação e formação: O site da OutSystems disponibiliza muita documentação para que potenciais developers possam aprender a utilizar a ferramenta seguindo todas as boas práticas;
Comunidade (Forge): A Forge permite que qualquer membro da comunidade contribua com funcionalidades extra no contexto da plataforma, sob a forma de Aplicações e componentes, Conectores, Widgets e temas ou Códigos. Adicionalmente, a OutSystems também usa a Forge como meio de distribuição de componentes que ampliam os recursos da plataforma, permitindo lançamentos mais rápidos e ágeis ao nível da comunidade. Estes componentes são separados do ciclo de lançamento de atualizações da plataforma.
As desvantagens
Embora a OutSystems ofereça muitas vantagens, importa ainda examinar as suas potenciais desvantagens:
Custo: O custo de licenciamento é considerável. Decorre deste facto que a plataforma tende a ser uma opção orientada para grandes empresas com produção intensiva de todo o tipo de aplicações, de forma a rentabilizar o investimento feito. Acresce igualmente o custo com recursos humanos, visto que ainda não existe uma grande quantidade de mão de obra especializada na tecnologia;
Limitações tecnológicas: Por ser uma linguagem low-code, torna-se necessário recorrer a plugins nativos quando uma aplicação precisa de interagir de forma mais estreita com os dispositivos. A Forge partilha muitos plugins para o efeito, no entanto, isto implica uma grande dependência destes mesmos plugins, que estão tendencialmente expostos a uma elevada necessidade de manutenção e upgrades constantes. Ainda neste âmbito tecnológico, a performance interactiva e responsiva das aplicações OutSystems tende a ser limitada quando comparada com aplicações nativas ou cross-platform, principalmente no caso de aplicações que pretendem ser mais complexas.
Dependência na plataforma: Embora a OutSystems forneça uma forma de extrair o código fonte em .NET, este processo pode vir a ser muito dispendioso e complexo, particularmente, quando se pretende migrar o mesmo para aplicações de linguagens nativas. Por vezes, a solução mais económica poderá mesmo ser começar de raiz na nova tecnologia.
Curva de aprendizagem: Ainda que o low-code facilite a formação de recursos para trabalhar nesta tecnologia, existe sempre uma curva de aprendizagem para dominar todos os aspectos do desenvolvimento, no sentido de garantir que as aplicações tenham uma arquitetura consistente no seu propósito desde a criação.
Conclusão
As aplicações OutSystems podem ser uma boa solução para empresas que já tenham licença OutSystems e que queiram potencializá-la, centralizando toda a sua presença digital nesta plataforma, ou para empresas sem licença, mas que antecipem uma forte necessidade de desenvolvimento de aplicações Web e Mobile, em casos onde a velocidade de disponibilização ao público e o reaproveitamento de multicanal assumam maior importância do que a experiência do utilizador.
Mobile Solutions Team
Daniel Pereira — Head of Mobile Solutions
dpereira@innovagency.com
LinkedIn: https://www.linkedin.com/in/djvpereira/