Executando verificação de segurança...
4

Desenvovedor mobile é Full Stack?

sou inicinate nessa me surgiu uma duvida , se dev mobile é full stack proriamente os nativos, ja que eles fazem front e back, mas acho que tem dev mobile que é so front porque algumas apps usam o back end de sites que são transformados e app mobile. eai são fullStacks

Carregando publicação patrocinada...
6

Eu particularmente acho que "Full Stack" um termo que já é estranho no desenvolvimento web, quanto mais relacionados ao mobile.

Não sei se existe uma definição formal para os termos backend e frontend, mas pelo que entendi da sua frase é como se alguém que cuida das regras de negócio complexas e que não tem relação com componentes visuais seria "backend" e quem faz o trabalho no que é visual é o "frontend".

Se é isso que você pensa, eu discordo completamente.

O "end" de backend e frontend, é de que lado da linha está ocorrendo o processamento/desenvolvimento. Se acontece do lado do usuário, no PC dele, no dispositivo dele, no navegador dele, para mim tudo isso é frontend mesmo que não seja componentes visuais. Até alguns anos atrás no desenvolvimento web, o frontend das aplicações era bem basicão e hoje é dia é super complexo, várias regras de negócio são resolvidas no frontend e mesmo assim continua sendo frontend.

Eu desenvolvo em diversas linguagens de programação, entre elas Delphi para desktop, e considero isso um desenvolvimento frontend. Toda as regras e processos são resolvidos do lado do usuário, algumas desses processos fazem uso de componentes visuais.

Penso da mesma forma no mobile, não acho que existe "backend" e "frontend" de mobile, pode até haver uma especialização de alguém em interatividade e UX. Mas todo o desenvolvimento está ali, exceto o que é delegado para uma API. Então resumidamente, para mim, o que existe é dev mobile e não backend, frontend, fullstack mobile.

4

Odeio esse termo. Concordo com o user1 (não na conclusão, apenas sobre o termo). Até acho que o termo ajuda comunicar, mas em alguns casos prejudica.

Mas já que as pessoas usam, ele pode ou não ser. Assim como no desktop ou outras atividades que envolvam pelo menos duas partes separadas de desenvolvimento. Em geral, em mobile é comum que tenha duas partes, mas tem casos que não tem. Se tiver duas, tem quem faça as duas e tem quem só faça uma.

Um dos problemas do termo é que full a pessoa nunca é. Então se ela é full só em certo critério, ela não é full. Eu entendo que inventaram esse termo de forma muita específica querendo dizer que ela faz front e backend, mas para ser full de verdade ela tem que fazer tudo da computação. É mais um termo mal pensado e lançado pelo mercado. Mas eu aceito porque não adianta dar murro em ponta de prego.

Até onde eu sei não existe uma definição clara do que o termo é, existem algumas pessoas que usam algo que é mais ou menos bem aceito por quase todos. Excetos os chatos. Quem? Eu?

Eu achei a definição do OP bem confusa. Especialmente na questão de aplicação que usa sites. Isso ainda é um modelo de front e backend. Se você está consumindo um backend pronto e nem tem acesso a ele, certamente você só está fazendo o frontend, mas o backend existe e você não é full stack.

Outra questão é sobre você ser full se tiver só o frontend. Não! Eu acho que não cabe mudar a definição do termo porque mudou o modelo. Um jogo que roda isolado (sem comunicar com servidor*) não foi feito por um full stack, foi feito por um front end developer.

Ah, você acha que frontend não cabe aí? Que é coisa de web. Aí eu vou "brigar". Isso está muito errado.

Um compilador tem frontend e backend? Tem quem questione e fale que é um pouco diferente, mas muita gente considera que tem. E claro que o frontend não é visual, é a parte que lida com a linguagem fonte, em oposição do backend que cuida da linguagem alvo. Em geral que cuida de uma parte não cuida da outra, ambas são trabalhosas e exigem expertise bem diferente do que web. Embora em compiladores ambas exigem muito domínio da computação e web aceita dar uma enganada e só apresentar qualquer resultado.

Se você falar que uma aplicação que tem duas partes, uma delas é visual e outra as regras de negócio e persistência, mas está tudo como uma coisa só, monolítico ou que seja um macarrão só, e isto é uma aplicação full, eu posso até concordar. Não tenho certeza. Eu preciso de definições mais fortes e canônicas sobre isso. Não acho que tenha. Mesmo se for em uma fonte (que tende ser) canônica, como a Wikipedia (não ach oque seja um bom artigo por várias razões, há entendimento bastante equivocado e não tem boas referências para sustentar o que está escrito lá), pode ser que ache lá só informações coletadas do mercado de forma desorganizada. Tem vários verbetes assim lá, por isso ela é boa, mas não 100% confiável (além de ser rasa, ser só uma porta de entrada para um assunto). Um pouco melhor.

Vemos algumas pessoas intercambiando frontend com client-side e backend com server-side. Não acho que deveria, acho que tem diferenças, mas em alguns contextos podem ser quase sinônimos.

Se alguém disser que tudo isso está errado, eu concordo, desde que tenha argumentos. Porque é dessas coisas que foram inventadas sem muito estudo e formalismo.

Gostava mais quando as pessoas eram desenvolvedoras, eventualmente mais dedicadas a uma coisa ou outra.

De maneira geral não gosto e não me dou bem (qual é causa ou consequência?) com frontend. E é a parte que mais pode satifazer ou atrapalhar o usuário, ainda que o backend falho pode dificultar o front entregar bem. O que mais gosto de fazer não é bem nem um, nem outro, prefiro coisas mais gerais, que se parece um pouco com backend (não web), então...

Faz sentido para você?

Espero ter ajudado. Em geral estou à disposição na plataforma (sem abusos :D)


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

2

Na sua discussão sobre compiladores que possuem componentes frontend e backend, você ilustra efetivamente que o frontend não é necessariamente sobre elementos visuais. O frontend pode de fato ser uma interface de linha de comando (CLI) ou algo totalmente diferente. A definição amplamente aceita (e que eu também aceito) é que o frontend é o que o usuário interage, enquanto o backend permanece oculto para o usuário.

Você tocou em um ponto interessante: nem toda aplicação é full-stack, mas desafiando o senso comum do termo, vou discordar radicalmente!

Ao apontar corretamente a frequente troca de frontend com client-side e backend com server-side, fica claro, uma aplicação pode existir exclusivamente no lado do cliente ou do servidor, mas não pode ser puramente frontend ou backend. No mínimo, para executar tal aplicação, a outra parte deve ser "mockada".

Se considerarmos um desenvolvedor 'frontend' como um usuário de uma API tipo rest, para ele, este ponto de extremidade, (end-point) com o qual interage diretamente é essencialmente um frontend, ocultando todas as regras de negócios e persistência subjacentes.

Da mesma forma que jogo em JavaScript rodando em um navegador possui componentes frontend e backend: o backend poderia ser o motor gráfico (engine) e os algoritmos que sustentam a lógica do jogo, enquanto o frontend é apenas o código responsável por atualizar o canvas e lidar com entradas do teclado e do mouse.

Outro exemplo, empresas como Twilio ou OpenAI, que oferecem infraestruturas de computação robustas e ocultam do usuário toda a complexidade computacional por meio de APIs webs. Os profissionais que constroem e mantêm essas APIs, servindo conteúdo HTTP no servidor, são essencialmente desenvolvedores 'frontend' nesse contexto. Eles estão trabalhando na 'frente', diretamente na experiência do usuário, mesmo que essa frente seja uma interface de programação e não uma interface gráfica.

Finalmente, o que mais me preocupa é a maneira como os grupos dentro da comunidade de desenvolvimento 'web moderna' tendem a se apropriar de conceitos abstratos para formar 'panelinhas' exclusivas. É tipo ser chamado de Bolsonarista; ou Petista, por apoiar ídeas como o patriotismo ou a busca por igualdade social. Esse tipo de simplificação e categorização inadequada não apenas limita o entendimento, mas também cria divisões desnecessárias entre os profissionais.

Historicamente, a maioria das aplicações era unificada, operando predominantemente em um único 'lado'. Com a popularização do desenvolvimento web moderno e o advento de frameworks JavaScript, emergiu o modelo massivo de cliente-servidor, que definiu claramente os papéis de frontends (interfaces com o usuário) e backends (servidores processando dados). Contudo, essa divisão não sempre existiu; anteriormente, o verdadeiro trabalho de UI na web era realizado majoritariamente no lado do servidor, utilizando tecnologias como PHP, Java, ASP. Naquela época, o JavaScript era limitado a aprimorar a experiência do usuário (UX), sem desempenhar um papel central.

No entanto, essa visão tradicional já é coisa do passado. Atualmente, a web já está na era da computação distribuída, que abrange desde a edge computing até a nuvem. Neste cenário contemporâneo, insistir de chamar o cliente de frontend, e servidor de backend torna-se cada vez mais limitante.

Todo software é fullstack (nem que seja uma única stack). Todo software tem uma parte que é resposável por interagir com o usúario (seja ele o que o for - é a parte de entrada e saída da computação) enquanto o backend é a computação em si. Esse é apenas outra visão simplista, e que limita o entendimento, mas pelo não cria richas estúpidas.

2

Sem tempo agora, mas vamos dizer que concordo com quase tudo. Tem algo que ainda preciso ver com mais calma. Eu acho que algumas coisas são mais complicadas. Acho que tem aplicações que são só uma coisa ou outra. E não sei se chamaria de frontend algumas coisas que você nomeu assim. Tão pouco quando tem só uma parte ele seria full stack por natureza, mas se não me engano na minha resposta, deixei isso em aberto mesmo, é discussão semântica.

2

O modo como os desenvolvedores mobile são categorizados como "full-stack" pode variar conforme o contexto e as responsabilidades atribuídas a eles.

Se um desenvolvedor é responsável tanto pelo front-end mobile quanto pela integração com o back-end, ele é considerado um desenvolvedor full-stack.

No entanto, como mencionado, alguns desenvolvedores mobile podem se especializar mais no front-end, focando na experiência do usuário, na interface do aplicativo e na integração com APIs de back-end existentes. Nestes casos, eles assumem a função de desenvolvedores front-end mobile.

1

Cara, sou desenvolvedor Android e resumidamente, acredito que ta bem mais ligado para o Front-end, Pois boa parte do tempo estou lidando com experiências do "Client-side", mas é algo a se discutir.

Recomendo você dar uma olhada no video se Mobile é front ou back, acho que aqui você ja tem uma boa margem pra entender um pouco mais sobre esse mundo 🫡

1

Cara, na minha visão não, já que um Desenvolvedor Full Stack seria dominar (óbvio que genericamente) todas as stacks (se não, todas as principais) de desenvolvimento: desktop, mobile, web, banco de dados, redes, segurança, design (ui/ux).

Então o Dev Mobile seria Front e Back ou então Client-Side Server-Side, mas nao full stack

1

Sem entrar nas questões do termo em si, a resposta curta é não! Mas pode ser. Na empresa que trabalho, todos nós devs mobile somos full stack (apesar de nosso foco ser front, qd precisa, pegamos no back tb).

0