Как можно обуздать сложности веб-разработки? [закрыто]

17

Я был программистом на стороне сервера большую часть своей карьеры и только недавно начал тратить больше времени на веб-разработку. Я поражен количеством вещей, которые мне нужно освоить, чтобы написать достойное веб-приложение. Просто перечислю несколько инструментов / технологий, которые мне нужно изучить,

  • Язык программирования на стороне сервера (Java / JSP, ASP, PHP, Ruby или что-то еще)

  • Приличный веб-фреймворк (для любого среднего и большого размера приложения).

  • HTML & CSS

  • Javascript

  • Библиотека Javascript (JQuery / ExtJS и т. Д. В основном для AJAX). Полезно знать, даже если в этом нет необходимости.

  • По крайней мере, базовые знания веб-дизайна - макеты, цвета, шрифты и т. Д.

  • Хорошее понимание веб-безопасности.

  • Хорошее понимание проблем производительности / масштабируемости.

  • Тестирование, проблемы совместимости браузера и т. Д.

Список можно продолжить.

Итак, мой вопрос к опытным веб-разработчикам: как вам, ребята, удается учиться и держать себя в курсе многих вещей? При разработке веб-приложения, как вы справляетесь со сложностями, связанными с этими областями, и в то же время можете написать приложение, которое хорошо спроектировано, удобно для пользователя, безопасно, производительно и масштабируемо.

Как веб-разработчик, нужно ли быть мастером на все руки или нужно специализироваться в одной или двух областях, а остальное оставить другим членам команды?

Рахул
источник
Новые вещи поначалу сложны. Не позволяйте этому вас разозлить. Поймите, что вы не сможете соревноваться с опытными разработчиками и просто приложите все усилия. Расширяйте свои навыки со временем по мере необходимости. Все эти инструменты меняются так быстро, что вам нужно быть пожизненным учеником, чтобы выжить в dev. Это, или получить "счастливое" программирование на ассемблере. на 20 лет.
P.Brian.Mackey

Ответы:

9

Язык программирования на стороне сервера (Java / JSP, ASP, PHP, Ruby или что-то еще)

Используйте рамки. Джанго, например.

Приличный веб-фреймворк (для любого среднего и большого размера приложения).

Не "от среднего до большого". Используйте рамки для всего .

HTML & CSS

Что есть, то есть. Узнать его.

Javascript

Максимально используйте библиотеки и фреймворки. Пишите меньше, используйте больше.

Библиотека Javascript (JQuery / ExtJS и т. Д. В основном для AJAX). Полезно знать, даже если в этом нет необходимости.

Верный. Используйте библиотеку.

Или.

Используйте FLEX.

По крайней мере, базовые знания веб-дизайна - макеты, цвета, шрифты и т. Д.

Скопируйте существующие сайты.

Хорошее понимание веб-безопасности.

Внимательно прочитайте www.owasp.org. И. Используйте структуру, которая делает это.

Хорошее понимание проблем производительности / масштабируемости.

Используйте Apache. Используйте структуру, которая обрабатывает это. Прочитайте масштабируемую интернет-архитектуру Schlossnagle.

Тестирование, проблемы совместимости браузера и т. Д.

Каркасы. Библиотеки.

В этом есть хитрость. Используйте как можно больше библиотек и фреймворков. Сеть существует уже много лет.

Встань на плечи гигантов. Пожалуйста. Вам не нужно изобретать все это.

С. Лотт
источник
Правда, вы не должны заново изобретать все это как опытный разработчик, знакомый со всеми фреймворками и инструментами. Но использование всех этих инструментов в качестве нового парня только увеличивает барьер для входа. Он должен заниматься базовым JavaScript и, например, новичком, чтобы уменьшить этот барьер. Но, поскольку ОП спросил, как "опытный разработчик" делает вещи, которые я не могу пропинговать -1 для этого.
P.Brian.Mackey
5

Как вам, ребята, удается учиться и держать себя в курсе стольких вещей?

Совет 1 . Следите за всем, что там происходит. Слушайте, о чем говорят люди, проверяйте вещи, читайте статьи и блоги, отмечайте, что важно, учитесь, экспериментируйте, будьте любопытны ко всему.

Совет 2 . Абсолютно весело провести время в процессе.

Совет 3 . Как однажды кто-то указал на SO, перечисленные вами вещи относятся к коллективным знаниям многих разработчиков. Не ожидайте, что узнаете все это в совершенстве, это слишком много для одного единственного ума, чтобы справиться. Возьмите то, что вам нужно, и знайте, где можно найти отдых.

Как веб-разработчик, нужно ли быть мастером на все руки или специализироваться

Лучше быть хорошо разбирающимся в разных областях. Что особенного в веб-разработке, так это то, что она внезапно объединяет все аспекты разработки продукта в одном месте в одних руках. Вы неизбежно должны быть осведомлены о многих вещах, чтобы заставить вещи тикать. А если серьезно, это так радостно, что твои пальцы везде!


источник
2

У тебя не всегда есть команда, по крайней мере, в моем случае. Так что быть «мастером на все руки» полезно.

Но вам не нужно знать обо всем или не знать, так что будьте хороши в поиске в Google.

Вы будете наращивать навыки по мере необходимости.

Бен Л
источник
Да, это казалось таким сложным в начале.
Печенье из рисовой муки
1

Вы должны знать основы - HTML, CSS, семантическая разметка, что делает HTTP и как его эффективно использовать.

Затем вы посмотрите, что вам нужно для этого проекта, каким бы ни был текущий проект. Вероятно, это будет связано с началом работы с существующей платформой или CMS и ее настройкой, иногда полностью сделанной на заказ работой, но чаще нет. Иногда могут возникнуть требования, связанные с тем, где и как он размещен, которые приведут вас к правильной платформе, в других случаях требуемая функциональность будет определять хостинг, который вы можете использовать. Вы узнаете, что вам нужно, как вам это нужно. Это немного медленный способ работы, но в итоге получается, что большинство из нас получили хорошее в том, что мы делаем - проецируя проект, изучая то, что нам нужно было знать.

Очевидно, что чем больше вы работаете в компании более опытных веб-разработчиков, тем быстрее вы сможете у них поучиться, но в целом большинство из нас постепенно приобрели эти навыки.

glenatron
источник
1

Я стараюсь знать достаточно обо всех современных технологиях, чтобы знать, когда они должны применяться. Например, я в первую очередь разработчик ASP.NET, но я достаточно разбираюсь в Ruby on Rails, чтобы выяснить, подходит ли он для конкретной задачи.

Технологии, которые я на самом деле использую, я пытаюсь узнать и узнать. Если есть какая-то особенность в ASP.NET, я хочу знать ее подробно и знать, когда мне следует, а когда не следует применять ее. То же самое касается JQuery, CSS и всего остального, что я использую.

Чтобы быть в курсе, я слушаю подкасты, подписываюсь на RSS-каналы, просматриваю StackOverflow и посещаю мероприятия для разработчиков.

RationalGeek
источник
1

Начните с простого способа либо с .NET, либо с JEE / JSF. Не нужно делать свой первый проект трудным путем. Сохраните эту сложность, когда она вам действительно понадобится.

Брайан Кноблаух
источник