Como se restringe as complexidades do desenvolvimento web? [fechadas]

17

Sou programador do servidor durante a maior parte da minha carreira e só recentemente comecei a dedicar mais tempo ao desenvolvimento da web. Estou impressionado com o número de coisas que preciso dominar para escrever um aplicativo da web decente. Apenas para listar algumas ferramentas / tecnologias que preciso aprender,

  • Linguagem de programação do servidor (Java / JSP, ASP, PHP, Ruby ou outra coisa)

  • Uma estrutura da web decente (para qualquer aplicativo de tamanho médio a grande).

  • HTML e CSS

  • Javascript

  • Biblioteca Javascript (JQuery / ExtJS etc. principalmente para AJAX). É bom saber, mesmo que não seja necessário.

  • Pelo menos um conhecimento básico de web design - layouts, cores, fontes etc.

  • Um bom entendimento de segurança na web.

  • Um bom entendimento dos problemas de desempenho / escalabilidade.

  • Testes, problemas de compatibilidade do navegador etc.

A lista continua.

Então, minha pergunta para desenvolvedores web experientes é: como vocês conseguem aprender e se manter atualizados sobre tantas coisas? Ao desenvolver um aplicativo da Web, como você lida com as complexidades envolvidas nessas áreas e ainda consegue escrever um aplicativo bem projetado, amigável, seguro, com desempenho e escalável.

Como desenvolvedor web, é preciso ser especialista em todos os negócios ou deve-se especializar em uma ou duas áreas e deixar o resto para outros membros da equipe?

Rahul
fonte
Coisas novas são difíceis no começo. Não deixe que isso atrapalhe você. perceba que você não será capaz de competir com desenvolvedores experientes e experientes e apenas faça o seu melhor. Expanda suas habilidades ao longo do tempo, conforme necessário. Todas essas ferramentas mudam tão rápido que você precisa ser um aprendiz ao longo da vida para sobreviver no desenvolvimento. Isso, ou obtenha a programação "sortuda" em assem. por 20 anos.
usar o seguinte código

Respostas:

9

Linguagem de programação do servidor (Java / JSP, ASP, PHP, Ruby ou outra coisa)

Use uma estrutura. Django, por exemplo.

Uma estrutura da web decente (para qualquer aplicativo de tamanho médio a grande).

Não é "médio a grande". Use uma estrutura para tudo .

HTML e CSS

É o que é. Aprenda.

Javascript

Use bibliotecas e estruturas, tanto quanto possível. Escreva menos, reutilize mais.

Biblioteca Javascript (JQuery / ExtJS etc. principalmente para AJAX). É bom saber, mesmo que não seja necessário.

Corrigir. Use uma biblioteca.

Ou.

Use o FLEX.

Pelo menos um conhecimento básico de web design - layouts, cores, fontes etc.

Copie sites existentes.

Um bom entendimento de segurança na web.

Leia www.owasp.org com atenção. E. Use uma estrutura que faça isso.

Um bom entendimento dos problemas de desempenho / escalabilidade.

Use o Apache. Use uma estrutura que lida com isso. Leia as arquiteturas escaláveis ​​da Internet da Schlossnagle.

Testes, problemas de compatibilidade do navegador etc.

Frameworks. Bibliotecas.

Há um truque nisso. Use o maior número possível de bibliotecas e estruturas. A web existe há anos.

Fique de pé sobre os ombros dos gigantes. Por favor. Você não precisa reinventar tudo isso.

S.Lott
fonte
É verdade que você não deve reinventar tudo isso como um desenvolvedor experiente, familiarizado com todas as estruturas e ferramentas. Mas, rebentar todas essas ferramentas como um novo cara só aumenta a barreira à entrada. Ele deveria estar usando javascript básico e, como um novato, para diminuir essa barreira. Mas, como o OP perguntou como um "desenvolvedor experiente" faz coisas, não consigo fazer ping -1 para isso.
usar o seguinte código
5

Como vocês conseguem aprender e se manter atualizados sobre tantas coisas?

Dica 1 . Fique de olho em todas as coisas que estão acontecendo por aí. Ouça o que as pessoas estão falando, verifique coisas, leia artigos e blogs, marque o que é importante, aprenda, experimente, fique naturalmente curioso sobre tudo.

Dica 2 . Divirta-se absolutamente no processo.

Dica 3 . Como alguém apontou no SO uma vez, as coisas listadas estão relacionadas ao conhecimento coletivo de muitos desenvolvedores. Não espere saber tudo com perfeição, é demais para uma única mente lidar. Pegue o que você precisa e saiba onde encontrar o resto.

Como desenvolvedor da web, é preciso ser um valete de todos os negócios ou se especializar

É melhor ser versado em diferentes áreas. O que há de especial no desenvolvimento da Web é que, de repente, une todos os aspectos do desenvolvimento do produto em um único local, com as mesmas mãos. Você inevitavelmente precisa estar ciente de muitas coisas para fazer as coisas funcionarem. Mas, falando sério, é muita alegria ter os dedos em todos os lugares!


fonte
2

Você nem sempre tem um time, pelo menos no meu caso. Portanto, ser um "valete de todos os negócios" é útil.

Mas você não precisa / não saberá tudo, por isso apenas seja bom em pesquisar no Google.

Você desenvolverá as habilidades conforme necessário.

Ben L
fonte
Sim, parecia tão difícil no começo.
Cookies de farinha de arroz
1

Você deve saber o básico: HTML, CSS, marcação semântica, o que o HTTP faz e como fazer bom uso dele.

Depois, você analisa o que você precisa para este projeto, qualquer que seja o projeto atual. Provavelmente, isso envolverá começar com uma plataforma existente ou CMS e personalizá-la, às vezes um trabalho totalmente personalizado, mas com mais freqüência não. Às vezes, haverá requisitos relacionados a onde e como ele está hospedado que o guiarão para a plataforma certa; outras vezes, a funcionalidade desejada guiará a hospedagem que você pode usar. Você aprende o que precisa, conforme necessário. É um pouco lento como forma de trabalhar, mas acaba sendo o modo como a maioria de nós é boa no que faz - projeto por projeto, aprendendo o que precisamos saber.

Obviamente, quanto mais você trabalha na companhia de desenvolvedores da Web mais experientes, mais rápido pode aprender com eles, mas, no geral, a maioria de nós adquiriu essas habilidades gradualmente ao longo do tempo.

glenatron
fonte
1

Tento conhecer o suficiente sobre todas as tecnologias atuais para saber quando elas devem ser aplicadas. Por exemplo, sou principalmente um desenvolvedor de ASP.NET, mas sei o suficiente para Ruby on Rails para descobrir se é mais adequado para um problema específico.

As tecnologias que estou usando, tento conhecer dentro e fora. Se houver um recurso específico no ASP.NET, quero conhecê-lo em detalhes e saber quando devo e quando não devo aplicá-lo. O mesmo vale para JQuery, CSS e tudo o mais que eu uso.

Para manter-me atualizado, ouço podcasts, assino feeds RSS, leio o StackOverflow e assisto a eventos de desenvolvedores.

RationalGeek
fonte
1

Comece da maneira mais fácil com .NET ou JEE / JSF. Não é necessário fazer o seu primeiro projeto da maneira mais difícil. Guarde essa complexidade para quando você realmente precisar.

Brian Knoblauch
fonte