Лучший способ начать разработку веб-приложений

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

У меня обычно нет проблем с изучением новых языков или технологий, поэтому я не беспокоюсь о том, какой из них "лучший" язык или веб-стек для работы. Вместо этого я хотел бы узнать о любых рекомендуемых ресурсах (книгах, статьях, веб-сайтах, возможно, даже в колледже), которые обсуждают дизайн веб-приложений: управление и оптимизация взаимодействия с сервером, проблемы безопасности, масштабируемость и другие темы, чем реализация.

Что вы рекомендовали бы разработчику автономного приложения, желающему перейти в веб-разработку?

Ответ 1

Существует множество языков веб-приложений, в которые вы можете попасть. Те, с которыми я больше всего сталкиваюсь (и поэтому буду говорить здесь), это PHP, eRuby и Ruby on Rails. Все они имеют хорошие учебные пособия в Интернете - я свяжусь с некоторыми из них ниже.

Выбор зависит от того, что именно вы хотите сделать. Используя PHP и eRuby, вы должны делать большинство вещей самостоятельно, тогда как Ruby on Rails будет делать много вещей для вас (полезно, но также может быть опасным, если вы не знаете, что делаете). Ruby on Rails хорош для работы с базой данных - например, стандартное приложение CRUD (создание, чтение, обновление, удаление). Стандартный учебник по Ruby on Rails (часто сокращенно RoR) показывает, что вы - приложение для блога (создание записей, чтение записей, обновление записей, удаление записей) или приложение адресной книги. Можно использовать многие из этих приложений почти в одной строке кода - используя функцию Roh 'scaffold'.

PHP и eRuby заставляют вас выполнять большую часть работы самостоятельно, но в некоторых ситуациях это может быть лучше. PHP более известен и используется, чем eRuby, но мне нравится язык Ruby, поэтому я предпочитаю использовать eRuby. Они хороши для простых приложений (например, форм контактов на веб-сайтах) или более сложных приложений (phpBB - часть программного обеспечения форума написана на php).

Что касается выбора - у меня будет игра с ними и посмотреть, что вы думаете. Попробуйте выполнить первые несколько фрагментов учебника с каждым и посмотреть, нравится вам это или нет.

Вот ссылки на различные учебники:

PHP

eRuby

Ruby on Rails

Есть несколько руководств, которые помогут вам начать работу. Некоторые из них позволяют установить необходимое программное обеспечение (веб-сервер и все, что нужно - например, php или ruby), а некоторые нет. Хороший способ получить Apache (webserver), MySQL (db) и PHP, установленный в Windows, - это использовать XAMPP. Если вы работаете в Linux, тогда apache, mysql и php будут находиться в ваших репозиториях пакетов, и для их настройки могут быть специальные руководства по дистрибутивам.

Ответ 2

Многие языки имеют веб-копии. JSP для Java, Rails для Ruby, Django для Python и т.д. Это может быть причиной.

Если вы хотите пойти на платформу с, возможно, самой большой базой пользователей (и с этим, самой большой кучей учебников и примеров), перейдите на PHP.

Я настоятельно советую смотреть на различные рамки. Для каждого веб-ориентированного языка существует множество ресурсов, которые устраняют проблему написания всего низкоуровневого сантехнического кода, поэтому вы можете сосредоточиться на том, что имеет значение. Лично я почти исключительно использую .NET, но я слышал о множестве хороших фреймворков PHP, таких как платформа Zend и CakePHP (для разработки MVC).

Если вы намерены также использовать javascript в своих приложениях, чтобы придать приятный веб-2.0 вашим приложениям, пожалуйста, используйте библиотеку, которая скрывает грязные сведения обозревателя. Если вы попытаетесь сделать все сценарии кросс-браузера самостоятельно, вы сходите с ума. Некоторые из них - Prototype и jQuery.

Ответ 3

Красноречивый JavaScript и AppJet предлагают отличные уроки, которые позволяют вам следовать во время обучения.

После того, как вы охватите все основы, Ajaxian должен ответить на многие вопросы, которые у вас есть о дизайне приложения, и т.д. Не только они публикуют много замечательных статей по этим темам, но вы должны изучить многие сайты, на которые они ссылаются, поскольку эти сайты обычно также предоставляют множество информации.

Когда дело доходит до взаимодействия с сервером, узнайте свои варианты. Аякс еще не все. Исследовательские технологии, такие как Comet и JSON-RPC, а также просмотр различных серверных фреймворков, которые обеспечивают легкий доступ к JavaScript, например DWR, Jayrock или любой инструмент, который предоставляет ваши функции JavaScript, используя любой язык, который вы решили использовать на сервере.