Com as tecnologias móveis se tornando cada vez mais populares, o que está acontecendo no lado do servidor com a maioria desses aplicativos quando eles precisam se comunicar com um back-end?
Estou acostumado com o mundo da tecnologia há 10 anos, quando a maioria dos recursos foi acessada solicitando uma página da web dinâmica que, por trás do visto, usava uma linguagem do lado do servidor para obter as informações necessárias em um banco de dados relacional.
Ainda é esse o caso e, se não, quais são as grandes mudanças?
mobile
server-side
Akromyk
fonte
fonte
Respostas:
Do alto da minha cabeça:
Provavelmente há mais. Os aplicativos móveis são geralmente considerados clientes normais, que consomem dados e os exibem.
fonte
Tecnologias
API RESTful usando JSON como serialização - a mesma API é usada por aplicativos nativos, aplicativos híbridos e aplicativos da web móveis. Mesmo no caso anterior, os modelos do lado do cliente são frequentemente usados (consulte um excelente exemplo em "Deixando JSPs no pó: movendo o LinkedIn para o dust.js modelos do lado do cliente" )
Servidores leves e assíncronos (orientados a eventos) - não há mais Apache pré-fork. Nginx, node.js, Twisted, Tornado etc. são usados agora.
Login OAuth / social - Os usuários esperam não precisar registrar uma conta para cada aplicativo individual. Assim, a maioria dos aplicativos permite o login com FB, TW e outros fornecedores. Para o FB, o Android e o iOS oferecem a opção Logon único .
Coisas a considerar
fonte
REST é metade da história. O mais interessante do que os protocolos de menor peso no fio são os servidores e pilhas de aplicativos da Web de menor peso - as solicitações em escala de massa para pequenos datagramas em comparação com o HTML renderizado comparativamente espesso significa que você tem requisitos diferentes. Alguns exemplos:
O node.js é provavelmente o exemplo canônico disso. A maioria das pessoas se interessa pelo recurso javascript no servidor, mas isso é um arenque vermelho - legal para as crianças que não conseguem progredir além do js, mas isso não importa. A parte realmente bacana é a natureza assíncrona, tornando-a incrivelmente insana, especialmente ao servir serviços RESTful pequenos e nítidos. Algumas outras pilhas com semelhanças seriam distorcidas para python ou manos de mono para .NET.
O nginx usa muito do mesmo IO (libuv) que o node.js usa e está limpando o mercado de servidores em alguns círculos. Muito mais focado que o apache e incrivelmente rápido.
Pilhas de servidor thin estão surgindo em ambientes que tradicionalmente tinham estruturas espessas que faziam muitas suposições. Ou seja, em rubi você tem o sinatra para contrabalançar os trilhos. Em python, você tem o balão [e outros] para contrabalançar o django. No .NET, você tem o WebAPI para contrabalançar o MVC e o WebForms. Todas as pilhas que mencionei são muito, muito finas e são mais (ou totalmente) focadas em servir datagramas e não páginas da web. Nenhum dos que eu mencionei apresenta os tipos de modelos e ORMs que se espera de uma pilha da Web típica nos dias de hoje.
Tudo o que foi dito, na maioria das vezes alguém está servindo seu aplicativo móvel, invadindo o aplicativo da web do servidor de 10 anos existente para servir json em um ponto de extremidade HTTP diferente. O mundo não mudou muito - a administração ainda vai mancar com 2 rodas e um donut, se acharem que podem se safar.
fonte
Eu acho que ainda existem aplicativos que usam a arquitetura do lado do servidor ou cliente-servidor mencionada. No entanto, nos últimos anos, há uma grande mudança em direção à SOA (Service Oriented Architecture) . Assim, a comunicação por meio de serviços seguros abre novos recursos para todos os aplicativos clientes e o acesso / reutilização de serviços comerciais de back-end ao mesmo tempo.
Com os mercados emergentes de dispositivos móveis e tablets, está se tornando ainda mais importante usar os serviços HTTP como um canal de comunicação importante para fornecer um serviço estendido aos aplicativos clientes.
fonte
A maioria dos back-ends agora suporta JSON e REST e não apenas SOAP. Fora isso, não há muita diferença entre um front-end da web e um aplicativo móvel. Acho que a maioria dos desafios para aplicativos móveis está no front end (qual a melhor forma de ajustar as informações em uma tela menor). Alguns aplicativos estão começando a alavancar recursos móveis (como relatórios de localização), mas isso ocorre nos dois lados.
fonte