Создание сайта на Java
Недавно был в одной конторе (довольно солидная фирма), которой понадобилась доработка, поисковая оптимизация и продвижение сайта. Увидел там просто уникальную на сегодня вещь… У них динамический сайт, работает на базе данных, но создан на языке Java! Честно говоря, очень удивлен, впервые такое вижу…
Я бы еще понял это лет 5 назад, но не сейчас. Вообще, язык Java изначально не предназначен для таких вещей… Его создавали для обеспечения полной переносимости обычных десктопных приложений, которые будут работать в любой операционной системе, для так называемой кросс-платформенности.
Java и сейчас иногда используется для разработки сайтов, но это очень редкие случаи, в основном ситуации, когда переделать сайт намного дороже, чем дорабатывать с напильником старый.
Создание сайта на Java, с моей точки зрения, это стрельба из пушки по воробьям. Тоже самое на языке PHP, который отличается своей простотой и тем, что он изначально создавался, чтобы облегчить создание сайта разработчикам, было бы на порядок проще…
А теперь на этой фирме возникла ситуация, когда срочно требуется доработка сайта и его продвижение в интернет, а разработчик сайта уже на фирме не работает. Создание сайта с нуля, как таковое, не рассматривается, т.к. фирма уже вложила в этот проект немалые деньги.
Другие разработчики на Java, которых приглашала фирма, практически ничего не смыслят в создании сайтов. А разработчики сайтов c «более традиционной ориентацией»
, как я например, не в состоянии разобраться в том, как работает существующий движок сайта этой фирмы…
А если не понимаешь языка, то ни о какой доработке сайта и поисковой оптимизации не может идти речь. Увы, но от «доработки» сайта пришлось отказаться.
Руководитель IT-подразделения фирмы от предложения по созданию нового сайта с нуля отказался. Просто психологически не готов признать сделанную им раньше ошибку, ему оказалось проще спихнуть проблему на HR-отдел, мол не могут найти достойных кандидатов…
В общем, классический перевод стрелок и практика выживания офисных крыс.
Мораль: создание сайта логичнее планировать с использованием традиционных и распространенных технологий, а не всякой «экзотики», тогда всегда будет возможность найти другого разработчика и избежать серьезных затрат в будущем.
Поставить ссылку на эту страницу на форуме
Это личное мнение. Уровень сложности разработки сайта с использованием JSP и Servlet, и затраты времени на задачу, кстати, также как и на ASP, просто нереально зашкаливают по сравнению с разработкой сайта на PHP.
Поэтому, как и в случае с любым инструментом, предпочитаю использовать любой инструмент по назначению – забивать гвозди молотком, а не плоскогубцами и закручивать винты на корпусе системного блока компа крестовой отверткой, а не ножом.
Что касается спроса на специалистов по .NET и Java, полностью согласен, но как я уже написал выше – каждую задачу лучше решать подходящими средствами.
Интересен смысл данной статьи? Для программиста, я думаю, не составит особо гигантского труда разобраться с другим языком (да и синтаксис не так уж сильно отличается, прочитал основы «Hello world» и все, потратить на протяжении пары недель пару вечеров за прочтением мануалов).
На Вашем месте я бы не отказал клиенту, это же престиж компании, возник лишь вопрос цены и желания вообще работать с этим. Тем более у Java есть свои преимущества, но тут зависит от того, что хочет Заказчик.
2 Павел
Хорошо, допустим пару недель по три часа… Считаем:
14*3=54 часа… Это 6,75 рабочих дней…
Допустим, зарплата программера 600$ при 22-х рабочих днях в месяце.
600*6,75/22=184$.
Итого, 184$ (без прибыли, налогов и отчислений). В реальности, эту сумму надо умножить на 2,5-3… А это уже 460-552$ и 2 недели потраченного времени… в течение которых работа реально не делается… а заказчик ждет работу… Хоть какие-то подвижки…
Добавим время на реальную работу. Допустим, это еще 2 недели.
600*2,5*14/22=954$
Добавляем время на самообразование программера, примерно посчитанное нами ранее. Итого:
954+460=1414$ и это по минимуму…
И кстати, без 100% гарантии, что программер сможет разобраться в работе движка на достаточном уровне и не наделать ошибок. А при наличии ошибок, да еще таком длительном итоговом сроке разработки имидж точно пострадает существенно больше…
Так я и сказал, что это вопрос цены. Да и, по-моему мнению (я сам самоучка), в институтах на специальности программиста «изучают» Java больше, чем PHP (в кавычках потому, что на самом деле это желание учащегося, можно получить диплом и не зная, как включается компьютер).
Мораль не в том, что на Java нельзя делать сайты и это очень плохо, а в том что ни у кого нет желания делать то, за что могут не заплатить (а я прекрасно это понимаю).
И от статьи ожидалось бы описание плюсов и минусов. Здесь лишь один большой минус, а плюсы все равно должны быть, слышал о многих (как производительность к примеру, и также как у PHP кросс-платформенность).
Утверждать эти плюсы не стану, но у меня возникла идея это проверить (сейчас изучаю Java), искал плюсы и минусы в интернете и наткнулся на Вашу статью.
SEO у вас получается здорово.
А вообще, какой язык программирования лучше выбирать для создания сайта?
2 Jeka
Однозначно PHP, без вариантов.
При всем желании найти преимущества Java для создания сайта, не вижу ни одного серьезного.
Теоретически, возможно использование скомпилированных exe-файлов для проектов, которые содержат страницы, позволяющие выполнять какие-то очень сложные вычисления, требующие много процессорного времени. Обычно для таких задач используют язык C.
PHP-код выполняется дольше, чем скомпилированный код, т.к. его сначала обрабатывает интерпретатор PHP, а только потом процессор, но на обычных проектах этого не заметишь.
Кстати, найти нормальный хостинг под проект, использующий скомпилированные exe-файлы будет очень не просто, т.к. таковых почти нет.
Стандарт для хостинговой компании – поддержка языка PHP в связке с веб-сервером Apache или Nginx + базы MySQL/PostgreSQL на Unix/Linux/FreeBSD/CentOS/Solaris или ASP с веб-сервером IIS и базами MSSQL на Windows. Первый вариант дешевле (т.к. используется бесплатный софт) и безопаснее.
Вывод такой: лучше создавать сайты на том языке, который Вы лучше знаете, и который поддерживает Ваш хост. Если не знаете ни одного языка для web-программирования, то лучше изучать наиболее популярный, т.к. больше документации, примеров и разработок. И этот язык несомненно PHP.
Может и правда ну ее, эту Java. Но за клиента все равно обидно
Вы отстали от жизни. Да, не спорю php популярен, но на нем лучше создавать простенькие сайты. А если требуется серьезный функционал, то лучше поискать серьезные языки программирования для создания проекта.
Сам делал сайты на php, и тоже был удивлен, когда сказали что наша компания переходит на java, и вот после 2-х месяцев понимаю в чем преимущества java…
Весь Ваш, уважаемые, разговор – разворачивается из за, судя по всему банального дилетантства… Прежде чем осуждать те или иные решения и технологии нужно обзавестись о них хоть малейшими представлениями…
Сайты, функционал которых обеспечивается сервлетами Java составляет около 45 % всего контента интернета, а так-же значительная часть клиент-серверных приложений около 30 %.
Да будет вам известно, что Java, изначально имевший претензии на кроссплатформенный ЯП для десктопых приложений, вполне отиравший свои претензии, в конечном итоге получил свою известность и популярность за счет реализации гибкой логики web-серверов… и до сих пор считается лидером, большая часть самых дерзких проектов реализована при помощи Java…
И так на закуску потратьте пару часиков своего времени, проанализировав потребность в спецах PHP и JAVA SDK. А самое главное их фин.вознаграждение…
Будьте компетентны в вопросах которые поднимаете.
2 Александр
Вы отстали от жизни. Да, не спорю php популярен, но на нем лучше создавать простенькие сайты. А если требуется серьезный функционал, то лучше поискать серьезные языки программирования для создания проекта.
С чего бы это язык PHP стал несерьезным? Он что, годится только для бложека типа убогого «хомячка» типа спам-блога на lj или liveinternet?
Возьмем всего одну из множества CMS… Вот Вам несколько примеров «несерьезных» проектов на «несерьезном языке» PHP:
_www.ibm.com (сайт корпорации IBM);
_www.whitehouse.gov (сайт Белого дома, госадминистрация США);
_www.nasa.gov (Национальное управление США по аэронавтике и исследованию космического пространства);
_www.observer.com (сайт одного из крупнейших СМИ);
_corp.aol.com (Корпорация AOL – одна из самых крупнейших IT-компаний);
_warnerbrosrecords.com (Warner Brothers Records);
_news.van.fedex.com (крупнейшая международная почтовая служба);
_www.mtv.co.uk (без комментариев);
_www.ubuntu.com (сайт OS Linux Ubuntu);
+ еще насчитал около десятка проектов компании Sony…
Полагаю этого более, чем достаточно…
Получается, что все эти конторы держат в штате несерьезных IT-специалистов?
2 RUVATA
Смотрим уровень сложности проектов приведенных выше…
Как Вам такие «мелко-штучные поделки»?
Сайты, функционал которых обеспечивается сервлетами Java составляет около 45 % всего контента интернета, а так-же значительная часть клиент-серверных приложений около 30 %.
По поводу обвинения меня в дилетантстве…
Во первых, я и не кричу, что я великий гуру…
А во-вторых… Не стоит так бросаться обвинениями, может оказаться, что обвиняющий сам не прав.
Поясню свое мнение…
Откуда такая статистика?
У меня совсем другие данные:
Статистика использования Web-серверов – _http://news.netcraft.com/archives/2011/02/15/february-2011-web-server-survey.html
Apache 60.10%
Microsoft 20.04%
nginx 7.57%
Google 5.07%
lighttpd 0.69%
На графике по ссылке выше легко можно увидеть, что 60% сайтов (большая часть) работают на сервере Apache, который используется в связке с PHP и какой-либо базой данных. Вот Вам и популярность.
Если и этого мало… Просто прикиньте на пальцах, сколько в Вашем городе крупных компаний, а сколько средних и мелких… Думаю, что-то около 5-7% крупных, и 93-95% средних и мелких…
Нужно ли среднему или малому предприятию решение на Java с его ни разу не космическими потребностями и очень немалой совокупной стоимостью владения продуктом на Java?
Полный аналог на PHP в разы дешевле и абсолютно ничем не хуже. А по уровню сложности… Открываем программный код и с первого взгляда видим, что тоже самое на Java делается на порядок сложнее, чем в PHP, а значит и работа разработчика автоматически должна стоить дороже.
Я знаю уровень оплаты специалиста по Java и PHP. И знаю, что в среднем специалист по Java зарабатывает существенно больше… Это только подтверждает мои слова выше.
Не знаю, в чем виноват, но Вам почему-то сильно хочется «наступить мне на хвост»…
Просто подумайте… Я живу в городе с миллионом населения. Сколько у меня в городе потенциальных клиентов на разработку сайтов с потребностями, которые требуют использования Java-технологий?
За последние пару лет, описанный в посте случай – первый, всем прочим ничего подобного и близко не требовалось. Зачем им дорогой и сложный продукт для решения простой задачи?
Но не будем забывать, изначально у нас ведь не об этом разговор… а о целесообразности стрельбы из пушки по воробьям…
По поводу обвинения меня в дилетантстве…
Я наверное все таки погорячился … причина вероятно то, что я сам долгое время посветил работе с Java, возможно отношусь предвзято. И все-же вы явно плохо просвещены в вопросах применения технологий Java, они очень популярны, их целый пантеон, и они очень перспективны…
И в области веб-разработок они с набирающим обороты PHP по крайней мере равноправны…
Между прочим популярность технологии PHP не говорит о ее изысках.
Вы знаете насколько популярен язык Visual Basic 6, а ныне VB.NET ? – очень популярен! при этом он объективно большинством профессионалов не признается вообще как что-то годное.
Да он прост до безобразия, и со всеми прелестями IDE Visual Studio (монопольно единственной) дает возможность школьнику сляпать что-то с красивыми кнопочками, напичканное готовыми классами.
Ни особой производительности, не особой функциональности ни гибкости он не обеспечивает… и единственным его преимуществом является простота разработки, а вот разработки чего это уже другой вопрос, чего-то цвета коричневого
Хотя PHP – хорош, отличная, перспективная, применяемая технология. Я хотел обратить ваше внимание на то, чтобы вы примыкая к одной технологии, не поливали грязью другую, такое поведение не свойственно профессионалам… Это не тактично по отношению к специалистам в обсуждаемой области этой области…
Вот некоторые проекты реализованные на Java:
_http://www.amazon.com
_http://www.ebay.com
_http://www.linkedin.com
тоже неплохо согласись ?
В одном вы правы однозначно – сделать некоторые низкоуровневые решения на Java гораздо сложнее чем на PHP. Хотя это дело опыта программиста. И опять-же если измерять сложность – количеством строк кода, и общим объемом требуемых связанных технологий…
Открою маленький секрет веб-сервер Apache Tomcat и есть основная платформа для Java решений… Возможно что те самые из указанных 60 % – 45 % и есть решения Java. ^__^
Вот собственно интересные сводки:
_http://habrahabr.ru/blogs/internet/7141/
_http://www.oszone.net/14233/Top_10_programming_languages
Java
“Молодой” язык программирования и основной инструмент программирования для Internet. Создатели Java безжалостно удалили из С все несовременные конструкции, и в то же время сумели удержаться от излишнего “раздувания” языка включением в него новых теоретических разработок.
В результате получился не очень объемный, но стройный, “крепко сбитый” язык программирования с ярко выраженной идеологией. К сожалению, ориентация на Internet не дает возможности использовать Java как язык системного программирования, однако это хороший пример реформы С.
Клоном С он является только внешне. Идеологически это хороший пример европейской языковой школы
}{акер январь 2011
Ну Вы и раздули тему, нужно просто выбирать нужный язык и технологии под поставленную задачу. Если Ваш сайт будет работать напрямую с Вашей БД.
Что-то типа интернет магазина, тогда рекомендовал бы пользоватся Java и ее набором обширных технологий, а не Joomla или Drupal и прочими фри аддонами. А то накуралеят сайт, а потом БД падает из за интернет магазина.
А если нужен просто информ сайт, то тут можно и на той же джумле накликать, чтоб времени не терять, хотя всеж лучше на зенде или симфони.
2 RUVATA
Вы почему то решили, что я ругаю язык Java в целом.
Это не так, в посте я писал только о том, что цена создания и поддержки готового решения для обычного сайта бизнес-класса для варианта на Java несравнимо выше аналога на PHP.
Это не религиозная война.
Просто цена вопроса и здравый смысл. Для каждой задачи оптимален свой инструмент.
По поводу Apache… Все верно, но это же сервер, а не язык программирования…
Написать комментарий!
Почему Java не предназначен для создания сайтов? А как же насчет JSP и Servlet?
Сейчас существует такая тенденция, что если обладаешь знаниями .NET и Java, то хлеб с маслом обеспечен.