Web-разработка. Про платформы.
20-10-2010 17:48
к комментариям - к полной версии
- понравилось!
Выбор средств разработки для web просто огромен.
Но, для себя я определил три крупных направления. Остальные встречаются гораздо реже.
1. PHP
2. ASP
3. Java
Определения крайне условны, поэтому чуть подробнее.
1. PHP
Точнее это связка технологий:
Apache в качестве web сервера
MySQL в качестве сервера БД
PHP - язык для обработки серверных сценариев
Плюсы:
- бесплатно
- много информации и документации
- большинство бесплатных CMS (Content Management System - система управления содержимым сайта, о них напишу подробнее попозже) построены именно на этой платформе.
- много разработчиков "за разумные деньги".
Минусы:
- уровень развития платформы с точки зрения современных программных методологий очень сырой. Объектная парадигма почти не развита. Лично для меня, работавшего с такими библиотеками классов как MFC и VCL, некоторые вещи кажутся просто каменным веком. Подобная ситуация с MySQL - ORACLE и MS SQL Server это все же уровнем выше, а то и двумя тремя.
- очень много всяческих библиотек и пакетов разработчиков. Из за неразвитости основы каждый хочет написать свое улучшение. В результате - зоопарк. Трудно выбрать то, что нужно.
- производительность. Пока не могу дать свою оценку, но вроде как считается, что данная платформа проигрывает в производительности остальным. Не знаю. Не проверял.
- удобство разработки. точнее неудобство. хотя возможно, я просто не натыкался на хорошие средства
Рекомендации:
Данную платформу можно рекомендовать для небольших проектов, сайтов компаний со строго определенным функционалом, личных блогов и пр. Т.е. для проектов, которые не требуют особой производительтности и могут быть реализованы одной коммандой разработчиков в ограниченное время и не подразумевают дальнейшей доработки. Хотя, в принципе, платформа самодостаточна, и сделать на ней можно что угодно.
2. ASP
Ну если быть точнее, то решения от Microsoft.
Сейчас это уже не просто ASP, а ASP.NET, использующий всю мощь .NET платформы для веб разработки.
Т.к. Microsoft в компьютерном мире давно и навсегда, то суть данной веб платформы лучше всего объяснить краткой исторической справкой.
Итак, кроме всем известной ОС Windows Microsoft выпускает средство для разработки программ для этой ОС, под названием Visual Studio.
Средство это включает в себя несколько "языковых" пакетов, объединенных в единую среду.
Я когда-то давно, лет 10-12 назад, использовал Visual C++ для разработки программ исследования речи.
Мне в то время Visual Studio не нравилась, т.к. продукты Borland (Delphi, C++ Builder) были объективно проще и лучше.
Что произошло дальше.
Пришла пора интернета и разработки для web.
Появились языки клиентских и серверных сценариев. Microsoft не осталась в стороне и придумала ASP - active server pages.
Больше всего, по принципу работы, не синтаксически, ASP похож на PHP и на JSP (Java Server Pages).
Примерно в то же время компания Sun выпускает технологию Java, с компилированным платформонезависимым исполняемым кодом, и откровенно говоря, уделывает Microsoft по всем направлениям.
Но Билл Гейтс не был бы самим собой если бы упустил тогда иннициативу с концами и, как альтернативу Джаве Майкрософт выпускает платформу .Net. Постепенно все средства разработки и сама идеология разработки "под платформу майкрософт" сместилась в сторону .net. И не просто сместилась, а успешно развивается.
Соответственно появился ASP.NET Который перенес на веб всю мощь классов .net
Модель обработки кода стала событийной, что ближе всего к тому, как было когда-то в Delphi (лично для меня это очень важно, все сразу встало на свои места)
Ну и Visual Studio постоянно развивается, появляется новый функционал.
Плюсы:
- поддержка Microsoft (ну это как вступить в ЕР) и единообразие всех технологий разработки
- грамотно организованная система классов .net
- замечательное средство разработки MS Visual Studio, которое постоянно развивается. Как следствие - удобный и быстрый процесс разработки
- интеграция с другими продуктами Microsoft на самом глубоком уровне (MS SQL Server, MS Office и др)
- большое количество хорошо структурированной документации и система курсов для разработчиков. Как следствие - их всегда можно найти.
Минусы:
- продукты для разработки стоят денег
- жесткая привязка к Windows платформе на серверах
Рекомендации:
Можно рекомендовать для любого проекта, при наличии необходимого бюджета. При грамотной организации процесса разработки можно безболезненно (относительно) развивать проект в рамках данной платформы с учетом текучки кадров и прочих форс мажорных обстоятельств. Имя Microsoft и изначальная корпоративная направленность помогают грамотно выстроить процесс общения заказчика и исполнителя.
3. Java
Рожденная корпорацией Sun изначально свободной, данная платформа развилась в огромное количество разнообразных вариантов.
Для веб разработки чаще всего используются Сервлеты и JSP в качестве северных сценариев, JavaScript стал стандартом де-факто для клиентских сценариев.
Но что получается сейчас? Sun теперь часть Oracle.
Продукты использующие Java технологии разнообразны не менее, чем PHP платформа, даже более.
Цены на эти продукты разнятся в десятки и сотни раз. Есть безплатные, есть очень дорогие.
И самое для меня во всей этой истории неприятное - очень мало актуальной документации. На русском языке ее почти нет вообще.
Исходя из этого плюсы и минусы:
Плюсы:
- грамотно построенная система ООП, без анахронизмов, изначально заточенная под сеть
- кроссплатформенность
- большое количество средств разработки
- поддержка ИТ монстров (Sun, Oracle, IBM)
Минусы:
- мало документации
- дорогие разработчики
- нет централизованной поддержки
Рекомендации:
Можно рекомендовать только будучи уверенным в наличии необходимых специалистов. Причем не абстрактных джава специалистов, а специалистов в конкретной джава тематике, ибо применений у джавы много. Ну и недешево это все. Можно выбрать бесплатный сервер приложений, но... специалисты стоят денег.
Ну собственно описал, что хотел.
Ни в коем случае не ориентирую этот материал на специалистов.
Цель - помочь врубится в тему не очень опытному менеджеру проектов, вроде меня, который столкнулся с тематикой веб-разработки.
От специалистов, если таковые наткнутся на этот материал, жду комментариев, дополнений и исправлений косяков, которые несомненно в этом тексте имеются.
вверх^
к полной версии
понравилось!
в evernote