O cenário atual de TI é muito heterogêneo. Estamos lidando com várias plataformas, tipos de dispositivos, formatos, sistemas operacionais e linguagens de programação. Uma visão muito interessante sobre isso é dada pelo State of the Developer Nation Q1 2016 Report<\/A> no visionmobile.com. A disponibilidade completa de um aplicativo próprio para todos os usuários não é mais realmente viável nesse cenário. Quanto maior a disponibilidade desejada, mais caro fica ou mais compromissos precisam ser feitos.<\/P>Para alcançar uma disponibilidade ideal para um aplicativo móvel Native, ele teria que ser desenvolvido pelo menos três vezes! para as plataformas móveis atualmente dominantes iOS, Android e Windows Phone. Isso é caro. Para economizar custos de desenvolvimento, o desenvolvedor poderia optar por menos plataformas, mas assim alcançaria menos usuários.<\/P>Já neste exemplo fica claro que na fase de planejamento de um aplicativo devem ser desenvolvidos conceitos para alcançar a maior disponibilidade possível de aplicativos em diferentes plataformas com baixo esforço de desenvolvimento – e assim com custos menores. Isso nos leva ao tema do desenvolvimento Cross-Plataforma, uma das questões mais importantes que os desenvolvedores precisam enfrentar hoje em dia.<\/P>Desenvolvimento Cross-Plataforma significa desenvolver o código para um aplicativo apenas uma vez e implantá-lo em várias plataformas, geralmente incompatíveis entre si. Desenvolvimento Cross-Plataforma também significa sempre encontrar um compromisso entre o público-alvo desejado, esforço de desenvolvimento, experiência do usuário (UI\/UX) e funcionalidade.<\/P> <\/P><\/A><\/P> <\/P>Como pode ser visto no gráfico, existem diferentes abordagens com suas respectivas vantagens e desvantagens para a programação multiplataforma. Uma boa opção certamente é a disponibilização como Web-App. O código é escrito apenas uma vez e hospedado em um servidor web. O Web-App então roda no navegador em quase todos os dispositivos atuais. Com JavaScript\/HTML5 já podem ser criados aplicativos muito poderosos e performáticos. Além da necessidade constante de estar online, o limite técnico é o próprio navegador, que não permite acesso a muitos sensores dos dispositivos, agendas, todo o armazenamento local etc. Por exemplo, não é possível realizar aplicativos para trabalho externo com uso offline de grandes volumes de dados.<\/P>Em contraste, Native-Apps são especialmente adaptados para cada plataforma e podem acessar todo o poder do hardware, componentes UI, armazenamento e funcionalidades dos dispositivos. Essa seria a abordagem correta para um aplicativo móvel com funcionalidade offline para trabalho externo. Devido a essa "especialização", o desenvolvimento multiplataforma de Native-Apps só é possível com ferramentas especiais como por exemplo Qt\/QML<\/A>, Microsoft UWP<\/A> ou Xamarin<\/A>. Código de aplicativos desenvolvidos com os SDKs nativos das plataformas não pode ser posteriormente tornado cross-plataforma. Portanto, isso deve ser bem pensado antes.<\/P>Apps híbridos são um meio-termo entre as duas possibilidades. Com frameworks como PhoneGap<\/A> ou Titanium Appcelerator<\/A> etc., código JavaScript pode ser compilado em Native-Apps para várias plataformas, superando assim as limitações do navegador. Apps híbridos parecem e se sentem como Web-Apps, mas podem acessar mais recursos dos dispositivos.<\/P>O desenvolvimento de Geo-Apps com tecnologia Esri naturalmente não está isento dessa problemática. Na Parte 2<\/A><\/SPAN> deste blog são explicadas soluções e ferramentas para desenvolvedores ArcGIS para desenvolvimento Cross-Plataforma.<\/P><\/BODY><\/HTML>
Para alcançar uma disponibilidade ideal para um aplicativo móvel Native, ele teria que ser desenvolvido pelo menos três vezes! para as plataformas móveis atualmente dominantes iOS, Android e Windows Phone. Isso é caro. Para economizar custos de desenvolvimento, o desenvolvedor poderia optar por menos plataformas, mas assim alcançaria menos usuários.<\/P>
Já neste exemplo fica claro que na fase de planejamento de um aplicativo devem ser desenvolvidos conceitos para alcançar a maior disponibilidade possível de aplicativos em diferentes plataformas com baixo esforço de desenvolvimento – e assim com custos menores. Isso nos leva ao tema do desenvolvimento Cross-Plataforma, uma das questões mais importantes que os desenvolvedores precisam enfrentar hoje em dia.<\/P>
Desenvolvimento Cross-Plataforma significa desenvolver o código para um aplicativo apenas uma vez e implantá-lo em várias plataformas, geralmente incompatíveis entre si. Desenvolvimento Cross-Plataforma também significa sempre encontrar um compromisso entre o público-alvo desejado, esforço de desenvolvimento, experiência do usuário (UI\/UX) e funcionalidade.<\/P>
<\/P>
Como pode ser visto no gráfico, existem diferentes abordagens com suas respectivas vantagens e desvantagens para a programação multiplataforma. Uma boa opção certamente é a disponibilização como Web-App. O código é escrito apenas uma vez e hospedado em um servidor web. O Web-App então roda no navegador em quase todos os dispositivos atuais. Com JavaScript\/HTML5 já podem ser criados aplicativos muito poderosos e performáticos. Além da necessidade constante de estar online, o limite técnico é o próprio navegador, que não permite acesso a muitos sensores dos dispositivos, agendas, todo o armazenamento local etc. Por exemplo, não é possível realizar aplicativos para trabalho externo com uso offline de grandes volumes de dados.<\/P>
Em contraste, Native-Apps são especialmente adaptados para cada plataforma e podem acessar todo o poder do hardware, componentes UI, armazenamento e funcionalidades dos dispositivos. Essa seria a abordagem correta para um aplicativo móvel com funcionalidade offline para trabalho externo. Devido a essa "especialização", o desenvolvimento multiplataforma de Native-Apps só é possível com ferramentas especiais como por exemplo
Apps híbridos são um meio-termo entre as duas possibilidades. Com frameworks como
O desenvolvimento de Geo-Apps com tecnologia Esri naturalmente não está isento dessa problemática. Na
Membros conectados podem postar, seguir atualizações e mais. Novo aqui? Registre uma conta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.