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


10

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

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

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

10

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

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

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

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

Сюда приходят ссылки на различные учебные пособия:

PHP

eRuby

  • Beginning eRuby - не большой, но показывает, как вы можете вставлять его в HTML
  • Try Ruby in your Browser - поможет вам узнать рубин, который вам нужно знать для eRuby

Рубин на 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.


1

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

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

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