O ano technology 2003, quando os senhores Andy Rubin, Wealthy Miner, Nick Sears e Chris White tiveram a brilhante ideia de desenvolver um sistema operacional para câmeras digitais, mas emblem perceberam que o mercado de dispositivos móveis oferecia uma oportunidade maior.
Depois de algum pace, nascia também o desenvolvedor cellular android, um cheio de dúvidas e desejos. Em meio aos desafios de criar aplicativos para o “novo” sistema operacional, eis que surge a dúvida, que arquitetura devo usar?
Ecu poderia explicar utilizando “desenvolviquês”, mas você, querido leitor, provavelmente não entenderia, daria um bocejo e voltaria para a Netflix. Por isso, que aqui neste artigo, tudo, ecu disse tudo, será explicado usando o dia-a-dia de qualquer brasileiro sofredor.
Mas voltando a pergunta, Arquitetura de Instrument é semelhante a arquitetura convencional(não me xingue), são estruturas fundamentais de um sistema(prédio, casa, barraco e device) que tem por objetivo estabelecer a base da construção.
Ela também abrange a relação entre os componentes(tijolo, cerâmica e categories) e outline como eles serão organizados e como interagem entre si.
Em síntese, assim como em uma reforma ou construção residencial, onde há um padrão estabelecido para a colocação de pisos, a criação de aplicativos segue princípios arquiteturais essenciais. Desviar-se desses padrões pode resultar em uma série de complicações, incluindo problemas estruturais, estéticos e obstáculos na realização de futuras manutenções no sistema. Da mesma forma que a escolha de um padrão de piso impacta na durabilidade e na estética de uma casa, as decisões arquiteturais no desenvolvimento de aplicativos são fundamentais para garantir a robustez, a eficiência e a facilidade de manutenção do device.
A arquitetura MVC(Type-View-Controler, em traducao literal, Modelo-Tela-Controle), foi criada em 1979 pelo cientista da computação norueguês Trygve Reenskaug, que na época trabalhava na Xerox PARC.
Este padrão de estrutura visa separar o device em camadas, Type(modelo), View(os “layouts” ou telas do aplicativo) e Controller(controle).
Consider que temos a empresa Android, onde temos um gerente chamado Sr.Type. O Sr.Type entrega várias planilhas dados contábeis para a Sra.Controller:
A Sra.Controller, análisa os documentos, refina os dados, monta uma apresentação(View), apresenta, recolhe os feedbacks(interação do usuário com a View(Tela)) e entrega uma nova planilha com todos esses dados para o Type.
Você conseguiu perceber o problema do MVC? Vamos abordá-lo abaixo.
No exemplo mencionado, torna-se evidente que o controller(Controle), atuando como intermediário entre o Type e a View, está enfrentando uma sobrecarga. Essa situação ocorre devido à dependência da View(Tela) em relação ao Controller(Controle) e aos recursos nativos do Android.
O padrão MVC demonstra eficácia em diversas construções de sistemas, no entanto, sua implementação no ambiente Android não alcançou o mesmo êxito e resultou em uma série de desafios. Em resposta a essas questões, optou-se por adotar uma arquitetura de projeto alternativa conhecida como MVP, a qual será explorada em detalhes em nosso próximo encontro.
Até a proximo querido leitor(a), ou não.