2 research outputs found

    Web components: solução de compatibilidade na implementação de componentes cross framework

    Get PDF
    O leque de frameworks de desenvolvimento Web para a vertente front-end tem vindo a crescer rapidamente nos últimos anos. Atualmente, a gama considerada é bastante extensa, esperando-se que continue em expansão, com ferramentas cada vez mais evoluídas para servir as necessidades dos programadores. Estas ferramentas facilitam e aceleram todo o processo de desenvolvimento dos utilizadores, ao mesmo tempo que permitem a criação de produtos com maior rigor profissional. No entanto, num contexto cross framework, surgem dificuldades de compatibilidade relativas ao desenvolvimento e implementação de componentes visuais. Cada framework implementa a sua estrutura específica, dificultando a reutilização de componentes. Assim, desenvolvido em contexto de projeto de dissertação, este trabalho tem por objetivo a investigação do potencial dos Web Components como solução de interoperabilidade num contexto cross framework. Para materializar o conhecimento adquirido, e considerando a tecnologia em questão, foi desenvolvido um protótipo para servir as necessidades da Altice Labs, uma vez que esta foi a empresa que forneceu o campo para a investigação. Este protótipo foi testado, discutido com a equipa de Coordenação Tecnológica e apresentado à empresa. Revelou ter potencial para, possivelmente, reformular o processo de desenvolvimento das equipas.The range of frameworks for front-end web development has been growing rapidly for the last years. Nowadays, this range is quite extensive and it is expected to keep growing, with more evolved tools to serve the needs of the developers. Such tools aim to easen and quicken the development process, as well as allowing creating products with professional rigor. However, within a cross Framework context, it is expected for compatibility issues to arise when talking about the development and implementation processes for visual components. Each framework implements its own specific structure, invalidating the reuse of patterns when developing components. As such, and considering the project dissertation context, the objective of the work hereafter presented is to investigate the potential of Web Components as an interoperability solution in a cross framework environment. In order to materialize the findings, and considering the technology in question, a prototype was developed to serve Altice Labs’ needs, as this was the company that provided the field for the investigation. This prototype was tested, discussed with the Technological Coordination team, and presented to the company. It has shown to have potential to possibly affect the development process of the teams.Projeto de dissertação para obtenção do grau académico no âmbito do Programa de Bolsas de Investigação da Inova-Ria – Programa GENIUS, autorizado pela FCT – Bolsa de Iniciação Científica (BIC) financiada pela Inova-Ria e desenvolvido na Empresa Altice Labs.Mestrado em Comunicação Multimédi

    Desenvolvimento Web Orientado a Micro Frontends

    Get PDF
    Nos últimos anos, as necessidades de software têm vindo a aumentar e as aplicações web inegavelmente a ganhar terreno às aplicações desktop. Nestas aplicações, tem-se acentuado o nível de exigência quer em termos de experiência de utilização quer em termos de complexidade da lógica de negócio, o que levou a comunidade a unir esforços em prol de dar resposta a esta questão. A arquitetura vulgarmente usada, a monolítica, que outrora conferia uma visão geral do projeto a toda a equipa de desenvolvimento e assegurava um desenvolvimento e lançamento rápido de funcionalidades, deixou de ser capaz de suprir estas solicitações. Para mitigar o problema, as organizações têm procurado dividir os projetos de software em várias peças diferenciadas. Assim sendo, tornou-se prática comum organizar o software e até as equipas por capacidades técnicas, isto é, passou a reger-se por camadas horizontais, correspondentes ao backend e frontend das aplicações. No entanto, dado que estas camadas continuavam a ser desenvolvidas na íntegra por uma única equipa, o processo de desenvolvimento era moroso e com o tempo a qualidade do código decrescia e o acoplamento aumentava, o que tornou a manutenibilidade insustentável. O surgimento da arquitetura orientada a micro serviços, entrou em rutura com estas práticas, ao derrubar o backend monolítico, e atingiu uma popularidade de tal ordem, que abriu as portas para que o frontend monolítico seja desfeito, com o surgimento dos micro frontends. Este conceito emerge como uma abordagem distinta de organização do software e das equipas, que visa transpor os princípios da arquitetura baseada em micro serviços para o âmbito do frontend com o intuito de criar uma Single-Page Application, construída sobre uma camada de micro serviços, que resulta da integração de funcionalidades pertencentes a equipas distintas. Assim, propõe que as aplicações sejam estruturadas em camadas verticais, denominadas micro frontends, desenvolvidas de forma autónoma e na totalidade, desde a persistência de dados até à interface com o utilizador, por uma equipa multidisciplinar autónoma, dedicada e especializada numa determinada área de negócio. Sendo a arquitetura de micro frontends recente, ainda não existe muita informação relativa ao impacto da sua adoção no processo de desenvolvimento nas organizações e à viabilidade de algumas técnicas de integração em cenários reais, pelo que o estudo desta abordagem visa atestar a sua viabilidade e eventuais mais-valias face a alternativas mais convencionais.In the last few years, software needs have been rising and nowadays web applications are undeniably taking over the place occupied by desktop applications in the past. In these applications, due to the remarkable increase in demands related with user experience as well as business logic complexity, the community have been working together in order to solve this matter. The standard architecture, the monolithic one, which once gave an overview of the project to all team’s developers and ensured a fast development and release of new features, is no longer a candidate empowered enough to face these demands. To mitigate the problem, many organizations have been splitting software projects into several pieces of software. Therefore, software and team organization by technical skills became sort of a standard. Software’s architecture and team’s arrangement started to be governed by horizontal layers, corresponding to applications frontend and backend. However, since these layers remained being entirely developed by a single team, the development process proved to be time consuming and over the time the code’s quality decreased substantially, the coupling increased a lot and the single responsibility principle (SRP) simply vanished. As a result, maintenance became unsustainable. The appearance of the micro services architecture, clash these practices, overthrowing the monolithic frontend and reached such an astonishing popularity that created an excellent opportunity to finish the frontend monolith through micro frontends. This concept arrives as an alternative approach to organize software and teams, which aims to extend the principles of micro services to the frontend’s world in order to create a Single Page Application, which sits on top of a micro service architecture, that consists in a composition of features owned by different teams. Thus, it states that applications should be structured in vertical layers, called micro frontends, that are autonomously developed end-to-end, from the database to the user interface, by an dedicated and autonomous cross-functional team specialized in a specific business logic area. Since the micro frontend’s architecture itself is recent, there isn’t enough information whose subject is the impacts that come from the micro frontends adoption on the software development process at organizations and the feasibility of some integration techniques in real scenarios. So, the study of this approach aims to check its feasibility as well as possible gains compared to more conventional architectural alternatives
    corecore