O que está acontecendo no mundo das tecnologias do servidor em relação ao boom de aplicativos móveis?

12

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?

Akromyk
fonte
Muitos aplicativos menores dependem do Google App Engine :).
precisa saber é o seguinte

Respostas:

7

Do alto da minha cabeça:

  1. Uso de serviços da web em vez de acesso direto ao banco de dados do cliente.
  2. REST em vez de SOAP. O SOAP parece ser muito pesado para comunicação móvel com back-end. O REST usando JSON é muito mais simples de configurar e consumir. Especialmente se você usar diferentes tecnologias no cliente e no servidor.
  3. Concentre-se em várias visualizações de páginas da web. Um para computador e outro para celular. Deve ser fácil se alguém usa MVC, mas ainda é bastante problemático.

Provavelmente há mais. Os aplicativos móveis são geralmente considerados clientes normais, que consomem dados e os exibem.

Eufórico
fonte
6

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

  • As redes móveis têm latências muito altas;
  • É normal que os clientes percam conexões;
  • É normal que um cliente altere o IP durante a sessão;
  • Os celulares não são nem de longe tão poderosos quanto os desktops / laptops;
vartec
fonte
4

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.

Wyatt Barnett
fonte
1

Ainda é esse o caso e, se não, quais são as grandes mudanças?

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.

Yusubov
fonte
1

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.

TMN
fonte