Создание сайта на Java

Недавно был в одной конторе (довольно солидная фирма), которой понадобилась доработка, поисковая оптимизация и продвижение сайта. Увидел там просто уникальную на сегодня вещь… У них динамический сайт, работает на базе данных, но создан на языке Java! Честно говоря, очень удивлен, впервые такое вижу…

Я бы еще понял это лет 5 назад, но не сейчас. Вообще, язык Java изначально не предназначен для таких вещей… Его создавали для обеспечения полной переносимости обычных десктопных приложений, которые будут работать в любой операционной системе, для так называемой кросс-платформенности.

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

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

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

Другие разработчики на Java, которых приглашала фирма, практически ничего не смыслят в создании сайтов. А разработчики сайтов c «более традиционной ориентацией» :), как я например, не в состоянии разобраться в том, как работает существующий движок сайта этой фирмы…

А если не понимаешь языка, то ни о какой доработке сайта и поисковой оптимизации не может идти речь. Увы, но от «доработки» сайта пришлось отказаться.

Руководитель IT-подразделения фирмы от предложения по созданию нового сайта с нуля отказался. Просто психологически не готов признать сделанную им раньше ошибку, ему оказалось проще спихнуть проблему на HR-отдел, мол не могут найти достойных кандидатов… :) В общем, классический перевод стрелок и практика выживания офисных крыс. :)

Мораль: создание сайта логичнее планировать с использованием традиционных и распространенных технологий, а не всякой «экзотики», тогда всегда будет возможность найти другого разработчика и избежать серьезных затрат в будущем.



Комментарии
#   Alexander

Почему Java не предназначен для создания сайтов? А как же насчет JSP и Servlet?

Сейчас существует такая тенденция, что если обладаешь знаниями .NET и Java, то хлеб с маслом обеспечен.

#   ]]> SEO фирма ]]>

Это личное мнение. Уровень сложности разработки сайта с использованием JSP и Servlet, и затраты времени на задачу, кстати, также как и на ASP, просто нереально зашкаливают по сравнению с разработкой сайта на PHP.

Поэтому, как и в случае с любым инструментом, предпочитаю использовать любой инструмент по назначению — забивать гвозди молотком, а не плоскогубцами и закручивать винты на корпусе системного блока компа крестовой отверткой, а не ножом. :)

Что касается спроса на специалистов по .NET и Java, полностью согласен, но как я уже написал выше — каждую задачу лучше решать подходящими средствами.

#   Павел

Интересен смысл данной статьи? Для программиста, я думаю, не составит особо гигантского труда разобраться с другим языком (да и синтаксис не так уж сильно отличается, прочитал основы «Hello world» и все, потратить на протяжении пары недель пару вечеров за прочтением мануалов).

На Вашем месте я бы не отказал клиенту, это же престиж компании, возник лишь вопрос цены и желания вообще работать с этим. Тем более у Java есть свои преимущества, но тут зависит от того, что хочет Заказчик.

#   ]]> SEO фирма ]]>

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 у вас получается здорово.

#   Павел

Да, по идее, лучше отказать, чем сделать еще хуже. Но кто тогда поможет клиенту?

#   Jeka

А вообще, какой язык программирования лучше выбирать для создания сайта?

#   ]]> 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. Но за клиента все равно обидно

#   Гость

Иногда лучше жевать, чем постить глупости. Java вобщем-то получила развитие в большинстве из-за удобства работы с web’ом. То что вы что-то там не знаете — только ваши проблемы. Не стоит пенять на технологию только из-за своей дремучести.
Конечно, сайты-визитки на php проще наклепать, но когда речь идет о приложениях типа enterprise — почему-то все заказчики выбирают Java или .Net (вот ведь дурачки, ага?)
Посмотрите настоящие проекты — например сайт какой-нибудь компании-провайдера мобильной связи. Заниматься всю жизнь уютненькими бложиками и интернет-магазинчиками — ну если вы себя не цените, то самое оно.

#   SEO фирма

2 Гость

Да жуйте, кто же Вам мешает. :) Я не говорю, что технология плохая, раз я в ней не являюсь специалистом, я говорю, что разработка сайта на Java с ее высокой стоимостью решения и уровнем сложности для примерно 98% проектов слишком высоки.

Ок, давайте посмотрим на сайты компаний мобильной связи с «настоящими проектами»… Сколько в Украине операторов? 5-6? И центральные офисы у всех наверняка в столице, в Киеве. Я живу в Донецке (миллион населения), где нет ни одного центрального офиса этих компаний… А теперь прикинем вероятность получить заказ на создание сайта такой конторы компанией из Донецка… Думаю, не сильно согрешу, если скажу цифру… 0 целых, хрен десятых процента… :)

А вот насчет сайтов фирм и интернет-магазинов, Вы точно правы, ничего другого и не остается. Ну нет в Донецке очень крупных контор! :)

#   ]]> Eugene ]]>

То что этот пост попал в «Свежие записи» весьма удивляет, или блог хрен знает когда обновлялся или автор поста просто ненормальный. ВСЕ КРУПНЫЕ САЙТЫ ПИШУТСЯ НА JAVA! Не верите?

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

2) Java приложения отлично делятся и распределяют нагрузку, почитайте мануал на Apache Tomcat.

3) Java приложения изначально рассчитаны работать с крупными серверами MSSQL Server и Oracle.

Примеры сайтов которые написаны на Java и работают на протяжении дооолгих лет и не требуют доработки

_www.linkedin.com — 1 движок, 1 сайт, много нодов
_www.amazon.com — 1 движок, много сайтов, чертовское количество нодов
_odnoklassniki.ru — 1 движок, 1 сайт, много нодов
_www.bmw.com — вся подсеть bmw.* (всемирная) — 1 движок, все страны, чертовское количество нодов во всём мире
_www.ebay.com — 1 дижок, 8 сайтов (всемирная), чертовское количество нодов во всём мире
_Google+ , Google Talk — 1 движок, 2 подсайта, чертовское количество нодов во всём мире.

Примеры сайтов которые пострадали изза PHP :

_www.flickr.com — Написан был на PHP, начал тормозить часть ядра переписали на JAVA
_digg.com — Часть ядра пришлось переписать на C++ и вмонтировать как php extension, хотя на удивление он ещё работает на PHP.
_facebook.com — Хаа.. Неудачники! Им пришлось написать компилятор из PHP в C++. Отдали за него баснословные бабки.

Нуу и наконец :

Средняя зарплата PHP программиста по Европе 1600 eur/m
Cредняя зарплата Java программиста по Европе 2500+ eur/m

#   SEO фирма

Сразу видно, что Вы воспылали праведным гневом и написали свой комментарий не читая комментариев выше. :) Я уже писал выше, что крупных сайтов около 1-2% от общего количества. Подавляющее большинство — сайты мелких и средних фирм, организаций, блоги-хомячки и тому подобное. Сайт средней фирмы нерационально делать на Java. Это тупо дорого и бесперспективно.

Представьте простейшую ситуацию. К Вам обращается друг/сват/брат и просит сделать ему типичный «хомячок» про его архиважную личную жизнь… «фотки там типа повыкладывать с бодуна, котэ запостить»… :) «Ну ты ж типа крутой хакер и в этом точно шаришь!!!» :) Знакомо?

Допустим не сможете отказать и придется помочь… На Java такой сайт писать будете? Ему масштабирование критически нужно и свервысокая устойчивость к нагрузке? Нодов там кучу надо? Там же посещаемость сервак положит? :) Если ответ «ДА», то это не я ненормальный, а мне Вас искренне жаль. Со здравым смыслом не дружите. :)

Думаете средний сайт крупной фирмы (я не про монстров типа тех, что Вы привели в пример) требует более сложного движка, чем WordPress и который отлично подойдет для сайта «хомячка»? :) а он кстати на PHP написан…

По зарплатам все верно. Чем сложнее технология, тем меньше тех, кто способен с ней работать и тем дороже их услуги. Это кстати и подтверждает мои слова в статье и комментариях выше. Платить за то же самое программисту на Java придется заметно больше, а искать специалиста будет сильно сложнее.

#   ]]> Junior ]]>

Всем добрый день!

2 SEO фирма:

У каждого программиста ведущего разработку ПО на PHP, Java или .NET имеется уже отлаженный инструментарий с кучей шаблонов, библиотек и компонентов, заточенных под всякие нужды.

Так вот, для разработчика использующего Java или C# на создание «хомячка» уйдет столько же времени как и в случае с PHP, или даже быстрее. По цене тоже не вижу различий.

Мой Вам совет — изучите Java или C# — Вы тем самым расширите сферу услуг Вашей фирмы от десктоп до веб-приложений, заказчикам ведь не всегда нужно ПО базируемое на веб-технологии. Удачи.

PS. Случайно попал на этот блог и не смог удержаться от комментария в защиту Java (c#). Я сам программирую на Java и C# (десктопное ПО), гораздо реже на PHP.

#   Витя

Не читал всех комов, но тоже встану на защиту Java. В прошлом тоже на PHP писал, но познакомившись с строго типизированными языками (с++,Java,C#) просто возненавидил PHP.

1. В php нету поддержки thread. Когда вам понадобится увеличить производительность сайта, у вас будет только один выбор, это улучшать сервер, а дело это не благодарное тк вам прийдется заплатить раз в пять больше стоимости серва, что бы увеличить производительность в два раза (дальше хуже). С явой же можно строить распределенные системы (штука вообще офигенная не только для веба). Мало мощности? Поставь еще один такой же серв и получишь +90-95% к производительности, так и делает гугл например. Он увеличивает количество серверов а не их качество.

2. Действительно PHP хороший выбор для создания не высоконагруженного сайта. Но как только ваш сайт превращается в веб приложение, PHP начинает резко сдавать позиции. Сегодня сайты больше не просто информационные, они предоставляют сервис и разростаются до широких систем и здесь ява с её просто гиганской библеотечной поддержкой, комьюнити и гибкостью не оставляет PHP и шанса. Video streaming, Encoding, Android dev, Big Data algorithms, Parallel Pprogramming… Готов ли PHP к этому? Java создовался для этого с самого начала

#   SEO фирма

2 Витя

Все верно, когда речь идет о высоко-нагруженных сайтах, количество которых оправданно в 1-3% случаев. В моем регионе таких посещаемых сайтов практически нет. В моем посте речь шла не о том, что мне не нравится идея создания сайта на Java, а о том, что это — крайне редко оправданное решение.

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

А вот преимущества разработки сайта на Java, которые Вы описали для тех самых высоконагруженных проектов и распределенных систем — очень существенный аргумент!

Уже пытаюсь самостоятельно изучать Java, правда мне он нужен для других целей. Не скажу, что в восторге… Могу поделиться первыми впечатлениями: синтаксис чем-то похож на C++ и Яваскрипт вместе взятые, но уж очень много сложностей «на ровном месте», которые в том же PHP решаются на порядок проще…

#   Константин

SEO фирма
Помню, когда переходил со Спектрумовского бейсика, на современные языки программирования… Меня тогда тоже многое бесило. А как я не навидел Си, за то, что бы написать мало мальски сложное приложение, приходилось подключать «кучу» библиотек, в то время как на бейсике для подобного приложения уже все было с завода :)

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

PS сам я не программист. Да и разработкой сайтов не занимаюсь. Хотя и сайты делал, штуки четыре, но простеньких. Мне больше нравится шкодить десктопные приложения, а также программировать микроконтроллеры… Но интереса ради хотел бы и на java написать хотя бы один, так сказать посмотреть, как это оно. Будет время, обязательно попробую написать.
:)

Написать комментарий!

]]>

Ваше имя или ник:
(обязательно)

Ваш e-mail:
(обязательно, не публикуется)

Ваш блог или личный сайт (если есть):

Ваш комментарий:

]]>