Utilize este identificador para referenciar este registo: https://hdl.handle.net/10216/107219
Registo completo
Campo DCValorIdioma
dc.creatorGonçalo Maria Nunes Andrade Lobo dos Santos
dc.date.accessioned2025-11-08T19:19:12Z-
dc.date.available2025-11-08T19:19:12Z-
dc.date.issued2017-07-14
dc.date.submitted2017-09-29
dc.identifier.othersigarra:211502
dc.identifier.urihttps://hdl.handle.net/10216/107219-
dc.descriptionO estado atual do desenvolvimento de software para telemóveis requer frequentemente que exista conformidade entre diferentes sistemas operativos e dispositivos. Para alcançar esse objetivo tipicamente opta-se por levar a cabo o desenvolvimento nativo de diferentes aplicações em que cada uma é orientada para uma única plataforma. Este processo de desenvolvimento revela-se demorado e caro pois exige que os programadores de uma empresa tenham conhecimento mais alargado e que sejam polivalentes em várias linguagens. Ao longo da última década foram emergindo técnicas de desenvolvimento multi-plataforma mas poucas são capazes de atingir a fluidez e a sensação de utilização que as aplicações nativas trazem. Esta tese tem como objetivo levar a cabo um estudo focado numa das mais recentes abordagens de desenvolvimento multi-plataforma, React Native, que permite a criação em simultâneo de aplicações iOS e Android compilando código escrito em JavaScript e fazendo uso dos mesmos componentes nativos de cada sistema (proporcionando assim uma experiência mais nativa aos utilizadores). Outro objetivo desta dissertação desvia-se do desenvolvimento de aplicações para o lado do cliente e dá ênfase em aspetos relacionados com a busca e manipulação de dados. A maioria dos serviços web são construídos seguindo REST. Esta abstração está normalmente associada a especificações rigorosas que permitem que haja interoperabilidade adequada entre sistemas. Numa tentativa de simplificar as normas atuais surge GraphQL, uma linguagem para interrogar APIs, que permite que os programadores definam os dados e os tipos de objetos de um sistema permitindo ao mesmo tempo que o cliente tenha a liberdade de solicitar exatamente os dados que necessita. Boas práticas e padrões de desenvolvimento de aplicações usando React Native e GraphQL foram extraídos e são apresentados juntamente de uma análise cuidada dos seus princípios fundamentais como tecnologias.
dc.description.abstractThe current state of mobile development often demands that a certain compliance with different operating systems and smartphones is met. The most typical approach to solve this problem consists in a singular native development for each platform, mainly one for Android and other for iOS (both current market leaders in operating systems for mobile devices). This process turns out to be awfully time-consuming and more expensive as it requires developers to have expertise in two different sets of knowledge. In order to answer this problem several cross-platform approaches were attempted but few are able to provide a fluid and native feeling as result applications. The main objective of this thesis dwells in a development study performed on one of the newest cross-platform approaches, React Native, which allows concurrently creation of iOS and Android applications by compiling code written in JavaScript and by using the same UI components from each system (providing a more native feeling). Another key objective for this thesis doesn't rely on the front-end aspect of application development but on the data fetching and manipulation. Most web services are built around REST and its strict specifications in order to enable a proper interoperability between systems. With that in concern Facebook announces GraphQL, a query language suitable for APIs, allowing developers to define their data using a fully-fledged type system, forming a schema that is self-documenting and giving clients full control over the data they request. Practices and patterns for application development while using previously mentioned tools were extracted and are presented along side with a thorough analysis of their inherent principles.
dc.language.isoeng
dc.rightsopenAccess
dc.subjectEngenharia electrotécnica, electrónica e informática
dc.subjectElectrical engineering, Electronic engineering, Information engineering
dc.titleCross-platform data-driven applications with React Native and GraphQL: Principles and practices
dc.typeDissertação
dc.contributor.uportoFaculdade de Engenharia
dc.identifier.doi10.34626/w3pp-tm33
dc.identifier.tid201798069
dc.subject.fosCiências da engenharia e tecnologias::Engenharia electrotécnica, electrónica e informática
dc.subject.fosEngineering and technology::Electrical engineering, Electronic engineering, Information engineering
thesis.degree.disciplineMestrado Integrado em Engenharia Informática e Computação
thesis.degree.grantorFaculdade de Engenharia
thesis.degree.grantorUniversidade do Porto
thesis.degree.level1
Aparece nas coleções:FEUP - Dissertação

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
211502.pdfCross-platform data-driven applications with React Native and GraphQL: Principles and practices1.45 MBAdobe PDFThumbnail
Ver/Abrir


Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.