Новичку полезно



Как строятся сайты

Когда планируется относительно крупный сайт, первый вопрос, который возникает: какие технологии выбрать. И если в системном программировании технологии, по большей части, определяются требованием к конечному продукту, то в среде WEB можно написать почти всё, на чём угодно, но всё же разница есть, и порой от этого зависит судьба проекта. Основные варианты, на что может пасть выбор аналитика, я и попытаюсь описать в этой статье.

Всё новое, это хорошо забытое старое, по этому давайте вспомним, с чего всё начиналось. Не будем вдаваться совсем уж глубоко, во времена, когда компьютеры были большие и программы маленькие, а вспомним, каким был Интернет лет 15 назад. 22 сентября 1995 года был официально одобрен стандарт HTML 2.0, который впервые смог чётко описать язык разметки, придуманный в Тимом Бернерсом-Ли приблизительно в 1991-1992 годах, который изначально создавался как язык для обмена научной и технической документации. До 1995 года существовало множество неофициальных стандартов HTML. Чтобы стандартная версия отличалась от них, ей сразу присвоили второй номер.

В современной эпохе WEB 2.0 всё больше людей старается внести свой вклад в развитие современного Интернета. Если раньше html страницы на бесплатном хостинге могли создать только люди, так или иначе связанные с IT, то сей час, даже рядовой пользователь часто старается запомнить несколько тегов, что бы украсить свой Живой Журнал. Именно в это время начались активные разработки серверных языков программирования, заточных под протокол HTTP, которые давали возможность достаточно быстро создавать приложения, которые могли бы не просто показывать какое-либо содержимое пользователю, а ещё и сохранять данные, вводимые пользователем на сервере. Начали активно развиваться веб-чаты, форумы и тому подобные вещи.

int main(){
   printf("Content-Type: text/html; \n");
   printf("

hello world

\n"); return 1; }
Пример веб апликации на языке Си

Хотя PHP появилось в 1994 году, наиболее популярными способами разработки крупных проектов всё же было написание бинарных приложений, чаще на языке Си. Некоторые из таких проектов работают до сих пор, и гораздо быстрее современных «собратьев», написанных на языках высокого уровня. Разумеется, для написания подобного проекта требовались огромные усилия.

 hello world ';
?>

Работает это довольно просто – сервер просто запускает приложение, перенаправляя стандартный поток выхода на сокет, к которому подключён клиент, и запускает бинарное приложение. Для этих целей очень быстро приспособили созданный в 1986 году язык Perl.

С развитием PHP он очень быстро завоевал популярность среди программистов потому, что это был первый язык, сценарии которого вставлялись в HTML код, а не наоборот. Но в 1996 году у PHP появился довольно значительный конкурент: ASP. ASP в свою очередь не было языком программированием, а являлось технологическим решением компании Microsoft, позволяющее подключать программные модули во время процесса формирования Web-страницы.


Пример простейшего приложения используя технологию ASP

Прогресс не стоит на месте

Годы шли, энтузиасты постоянно пытались создать чего – либо нового, но у PHP и ASP был один большой минус (хотя в чём - то это даже плюс) – это были так называемые скриптовые языки. Они интерпретировались каждый раз при запросе клиента заново, из за чего сильно проигрывали по скорости бинарным решениям. Ещё была очень большая проблема с типизацией. Типизация данных была абсолютно не строгая, как следствие точность вычислений с плавающей точкой не контролировалась, что зачастую приводила к довольно большим погрешностям. В своё время это заставило банки раз и навсегда отказаться от использования PHP в качестве языков разработки Интернет банков. Безопасность скриптовых языков так же подвергается довольно большому сомнению, ибо в них появляется возможность интерпретации кода на лету, однако это меньшая проблема, ибо по большей части, безопасность зависит от квалификации программиста.

Спустя довольно короткий срок было выпущено множество языков программирования, или Фреймворков, для уже существующих решений, как замена устаревших технологий, например ASP.NET, Ruby On Rails, Cold Fusion, JSP и другие. У каждой есть свои преимущества, однако неоспоримого лидера среди них пока не наблюдается, а PHP всё ещё остаётся, пожалуй, самым популярным языком разработки небольших веб - проектов.

 
 #now_date#
Пример вывода текущей даты на ColdFusion

По причине очень сложного предсказания развития языка, при проектировании проекта, сложно сделать выбор, и быть уверенным, что проект не закроется. Например, за последние 2 года несколько раз анонсировали, что проект Cold Fusion закрывают, и он не будет больше поддерживаться компанией Adobe, однако, не так давно была выпущена новая версия, что свидетельствует о жизни и процветании этого языка программирования.

И куда же податься?

В современной IT индустрии наблюдается постоянная нехватка кадров, люди уходят с проекта, обучение и внедрение людей стоит времени и немалых средств, и это, естественным путём сказывается на выборе пути, по которому будет идти коллектив IT отдела. Но тут тоже палка о двух концах: некоторые предпочитают находить уже готовых специалистов, которых нужно всего лишь внедрить в проект, когда другие считают продуктивней обучить человека «с нуля», на примере уже существующего проекта. Второй метод позволяет воспитать в команде общий стиль, который порой, крайне необходим. Однако, не все технологические решения позволяют обучить человека с нуля, например время для обучение JSP может быть больше времени проекта.

Пожалуй, самым простым, в изучении, из вышеперечисленных языков является Cold Fusion, созданный в 1995 году, который первоначально был задуман как язык разметки баз данных, и был назван DBML (DataBase Markup Language) и позже был переименован в CFML (ColdFusion Markup Language). Он принципиально отличается от остальных языков, хотя бы тем, что вместо команд там используются теги, что ещё более чтение кода, когда он переплетён с html. Разработан этот язык компанией Adobe, и написан на языке Ява, что обеспечивает кроссплатформенность самого сервера. Неоспоримым преимуществом перед PHP является то, что настройка всех параметров языка осуществляется из удобной панели администратора, и нет необходимости перекомпилировать интерпретатор или менять конфигурационные файлы вручную.

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

Интересная особенность языка – Scope (область видимости переменных), похожий на старые версии PHP. Иными словами, переменные, которые передаются, например через URL, можно видеть как указывая явный путь, URL.myVar, так и просто MyVar, это зачастую может привести к серьёзным ошибкам, связанными с возможностью определить переменную злоумышленником в обход логики сценария. В PHP это проблему решили опцией register_globals, однако в Cold Fusion’е нужно решать эту проблему каждый раз самостоятельно, что при определённом опыте программирования и внимательности значительных усилий не требует.


 
 
   
   
#CurName# #evaluate(CurName)# Переменная #CurName# не число

В версиях, начиная с MX можно наблюдать интересную поддержку flash, по логике чем - то напоминающую .NET разработку, когда ты создаешь некий объект, а дальше меняешь его свойства, в Fusion’е есть теги и , который в свою очередь может быть как обычный, , так и flash объект.

В завершении об этом языке, хотелось бы обратить внимание на интересный способ обращении к базам данных. В отличии от остальных языков, источники данных можно прописывать только в панели администратора, однако теги и позволяют обращаться через выбранный источник данных одинаково, вне зависимости будь то обращение через ODBC соединение к базе данных Oracle, или специфическое решение Microsoft.

Концовки быть не может

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

Cтатистика

SMS.копилка

SMS.копилка

Orphus

Система Orphus

Реклама

Хостинг от 26 руб. (все включено)
VDS всего за 149 руб./месяц
Хостинг Jino (10гб всего за 33 руб.)