Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало пути.doc
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
8 Мб
Скачать

Видео-аудио проигрыватели

Одним из самых частых способов использования технологии flash в интернете является проигрывание видео и аудио треков. В большинстве случаев для интеграции видео в веб страничку достаточно уже готовых интернет проигрывателей. Рассмотрим, например, один из популярных и свободно распространяемых проигрывателей: JW FLV Player ( http://www.longtailvideo.com/players/jw-flv-player/ )

Для интеграции JW FLV Player на сайт достаточно проследовать 4-м шагам:

1. Скачать архив с плеером с сайта проигрывателя

2. Загрузить файлы jwplayer.js и player.swf из архива на ваш сервер.

3. Подключите jwplayer.js на странице на которой вы собираетесь его использовать.

Например можно сделать так:

<script type="text/javascript" src="/jwplayer/jwplayer.js"></script>

4. Проинициализируйте плеер где-либо в коде вашей страницы. Сделать это можно следующим образом

<div id="container">Loading the player ...</div>

<script type="text/javascript"> jwplayer("container").setup({});

flashplayer: "/jwplayer/player.swf", file: "/uploads/video.mp4", height: 270,width: 480

</script>

Более детальные инструкции можно найти в документации по плееру.

Flex

Adobe Flex — технология для легкого и быстрого создания Rich Internet Applications, использующая описание интерфейса приложения с помощью диалекта XML — MXML. Flex приложение может компилироваться на сервере, а может — из IDE как во Flash, результатом является swf файл, исполняемый с помощью Flash Player.

Flex SDK - это большой набор классов, расширяющих возможности Flash. Flex-framework включает возможности локализации, стилизации приложения, разработки модульного приложения, встроенные валидаторы и форматоры текстовых полей — все те инструменты, которые нужны разработчикам приложений, работающих online.

Adobe предоставляет бесплатную интегрированную среду разработки на Flex: Flash Builder. Adobe Flash Builder создана на свободно распространяемой платформе разработки Eclipse, которую многие разработчики уже используют при программировании на Java.

Flex, помимо скорости разработки, предоставляет полные мультимедийные возможности Flash платформы: включая потоковое мультимедиа, возможность получить доступ к веб-камере и микрофону пользователя, бинарные сокеты, обширные возможности сетевых коммуникаций (HTTP-запросы, веб-сервисы, встроенный формат сериализации AMF), оперирование координатами трехмерного пространства, возможности использования встроенных фильтров (таких как расфокусировка, падающая тень и др.), и написания собственных.

Flex – это сложные приложения для веб и декстопов, в то время как Flash – это анимации, баннеры и простые игры.

Технология «клиент-сервер»

Приложения WWW работают по технологии «клиент-сервер», в которой все программное обеспечение разделяется на клиентскую и серверную части. Взаимодействие клиента и сервера происходит по принципу «запрос-ответ». Клиент посылает запрос, сервер обрабатывает его и посылает ответ. Рассмотрим, например, этапы соединения по протоколу http.

  • Запрос клиента. Браузер формирует запрос на основе данных из URL пользователя, либо из данных формы.

  • Установка соединения клиента с сервером

  • Посылка запроса клиента и ожидание ответа от сервера.

  • Обработка запроса сервером. Генерация ответа.

  • Прием ответа клиентом.

  • Разрыв соединения.

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

Первой технологией, позволившей создавать динамические веб-сайты стал интерфейс CGI, который позволял обычным программам формировать содержимое веб-страницы и возвращать пользователю результат в виде HTML документа. Этот способ создания веб-сайтов популярен до сих пор.

Следующим поколением в разработке динамических веб-сайтов стал интерфейс ISAPI. Он мало чем отличается от CGI, однако решены многие проблемы с производительностью и масштабируемо­стью.

Гипертекстовые препроцессоры стали новой ступенью эволюции серверных технологий. Основное их отличие — возможность вставлять программный код прямо в HTML-страницу. Это позволило значительно упростить процесс разработки, а также частично отделить представление от программного кода. Самым популярным гипертекстовым препро­цессором является PHP. Современ­ный подход к созданию веб-приложений — это использование технологий JSP и ASP.NET. У JSP есть одно преимущество — кроссплатфор­менность(может работать и на Windows и на Unix серверах). В основном выбор технологии сводиться к выбору связки: JSP+Linux или ASP.NET+Windows. Linux является бесплатной операционной системой, но много компаний и разработчиков выбирают именно ASP.NET+Windows.

Технологии CGI

Технология CGI (Common Gateway Interface – стандартный шлюзовой интерфейс) – была разработана для расширения возможностей WWW за счет подключения внешнего программного обеспечения – гостевых книг, баз дан­ных, интернет-магазинов и т.д. При этом сервер взаимодействует с подклю­чаемыми программами через стандартные потоки ввода/вывода. Входной информацией для таких приложений служит содержимое HTTP-заголовка (метод GET) либо тело запроса (метод POST). CGI-приложения генерируют HTML-код, который возвращается браузеру для отображения новой страницы.

Отметим, что вместе с CGI широко используется и термин «CGI-скрипты». Подобные приложения писались на скриптовом языке Perl и выполнялись на сервере. Основная проблема CGI-приложений заключается в том, что при каждом клиентском запросе сервер загружает это приложение в отдельное адресное пространство, а затем инициирует его выполнение и выгрузку. Это ограничивает производительность приложений и возможность одновременной обработки большого количества клиентских запросов. CGI — это способ общения между http сервером и программой - скриптом. CGI-приложения можно создавать с помощью любого средства разработки, генерирующего консольные приложения для операционной системы, под управле­нием которой функционирует Web-сервер, а не только на Perl. Программа, , которая читает get-данные из системных переменных, post-данные из stdin и пишет результирующий html-код в stdout, может быть написана на любом языке. CGI-скрипт получает данные от пользователя и, в зависимости от этих данных выполняет какие-либо действия, например формирует HTML-страницу. Допустим вы вводите в браузере строку

http://bbbb.by/cgi-bin/prr.cgi

Ваш браузер соединяется по протоколу HTTP с указанным сервером и просит у него нужный файл. Серверу передается строка

GET http://bbbb.by/cgi-bin/prr.cgi HTTP/1.1

Дальше идет посылаемая браузером информация о себе. Если такой файл есть, то сервер отошлет браузеру ответ:

HTTP/1.1 200 Ok Content-Type: text/html

Если в запрашиваемом URL указать специальную CGI - программу, то в ре­зультате эта программа запустится на сервере и браузер получит то, что выдала эта программа на выходе. При этом программа может выполнить какие-то дру­гие действия, например, записать данные в базу данных.

При запуске CGI-скрипта сервер создает в системе набор переменных ок­ружения через которые и передаются данные от пользователя

REQUEST_METHOD -Это поле, используемое для определения метода за­проса HTTP Протокол HTTP использует методы GET и POST для запроса к серверу.Они отличаются тем что при методе GET запрос является как-бы ча­стью URL т.е. http://www..../my.cgi?request а при методе POST данные переда­ются в теле HTTP-запроса. Следовательно для CGI при GET запрос идет в пе­ременную QUERY_STRING а при POST подается на STDIN скрипта.

Пример:REQUEST_METHOD=GET

QUERY_STRING

Это строка запроса при методе GET. Известно, что запрос из формы кодируется браузером поскольку не все символы разрешены в URL, некоторые имеют специальное назначение. В методе urlencode все пробелы заменяются на знак '+', а все специальные и непечатные символы на %hh, где hh-шестнадцате­ричный код символа. Разделителем полей формы служит знак '&'. При обра­ботке форм надо произвести декодирование.

При методе запроса POST необходимо считать со стандартного входа STDIN CONTENT_LENGTH байт, а потом производить их обработку. Обычно методом POST пользуются для передачи форм, содержащих потенциально большие области ввода текста TEXTAREA.

Браузер посылает на сервер и информацию о себе, чтобы CGI-скрипт мог представить информацию с учетом этого.

Что такое скрипт

CGI-скрипт - это программа, которая выполняется на web-сервере по за­просу клиента. CGI - это не код, а специализированный интерфейс, при по­средстве которого производится запуск скрипта и дальнейшая работа. Если посетитель сайта заполнит какие-то формы и нажмет кнопку "Отправить", данные поступают на сервер, запускается cgi-скрипт и происходит обработка поступившей информации. Например, текст сообщения и прочие значения считываются скриптом из формы отправки и записываются в файл гостевой книги. Взамен этого, на браузер посетителя отправляется сообщение.

Сервера, функционирующие под управлением Windows могут работать с CGI – скриптами на С++, Perl Visual Basic или Delphi. Если вы скачали какой-то скрипт и хотите его использовать, необходимо подстроить под себя - в начале скрипта потребуется указать кое-какие данные. На­пример, путь к интер­претатору Perl (чаще всего - /usr/local/bin/perl/ или /usr/bin/perl/), адрес сайта, название файла, в который должны записы­ваться результаты выполнения скрипта и т.д. Вдобавок ко всему, скрипт следует поместить в специальный каталог. Классический пример - имя скрипта Perl должно иметь расширения .cgi, а сам он будет находиться в каталоге cgi-bin. Но это необязательно: скрипт может располагаться где угодно, при этом большинство веб-серверов требуют специальной настройки. В веб-сервере Apache, например, такая настройка может производиться при помощи общего файла настроек httpd.conf или с помощью файла .htaccess в том каталоге, где содержится этот скрипт.

Пример скрипта Hello World на языке Python:

#!/usr/bin/python

print("""Content-Type: text/plain

Hello, world!""")

Пример программы Hello World на языке C:

#include <stdio.h>

int main(void) {

printf("Content-Type: text/plain;charset=us-ascii\n\n");

printf("Hello, world!\n\n");

return 0;

}

Использование CGI имеет ряд недостатков: сложность отделения про­граммного кода от HTML-представления, отсутствие встроенных средств для создания пользовательского интерфейса. При создании сайта приходится либо все писать самому, либо использовать готовое решение, которое не­легко приспо­собить к другим условиям.

ISAPI и Apache DSO

Проблему ограниченной производительности CGI - приложений, кото­рые выполняются в отдельном адресном пространстве, можно решить, создав приложение в виде библиотеки, загружающейся в адресное пространство Web-сервера и при необходимости остающейся там для обработки после­дующих запросов от других клиентов. Web-сервер должен поддерживать за­грузку таких библиотек. Подобные приложения для Microsoft Internet Information Servise носят название ISAPI (Internet Server Application Program Interface), а для Web-сервера Apache такие библиотеки называются Apache DSO (Dynamic Shared Objects).

ASP, JSP, PHP

Очередным шагом в развитии технологий создания Интернет-приложений  было появление средств, позволяющих отделить задачи Web-дизайна от задач, связанных с реализацией функциональности приложений. Такой технологией стала Active Server Pages (ASP), построенная на основе ISAPI. Основная идея ASP заключается в создании Web-страниц с внедренными в них фрагментами кода на скриптовых языках. Однако, указанные фрагменты кода интерпретируются не браузером, а сервером (ISAPI-библиотекой). Результат выполнения замещает сам фрагмент кода в версии страницы, которая передается в пользовательский браузер. Вскоре появились и другие технологии, реализующие идею размещения внутри Web-страницы кода, выполняемого Web-сервером. Известной является технология JSP (Java Server Pages), основная идея которой — однократная компиляция Java-кода (сервлета) при первом обращении к нему, выполнение методов этого сервлета и помещение результатов выполнения этих методов в набор данных, отправ­ляемых в браузер. Еще одной популярной технологией подобного типа является PHP (Personal Home Pages), которая использует CGI-приложения, интерпретирующие внедренный в HTML-страницу код на скриптовом языке.

Программирование для серверов

Программирование на стороне сервера позволяет получать и обрабатывать на сервере запросы, введенные на клиенте при помощи формы или с помощью URI. В другие задачи входят: обеспечивать динамический доступ к серверным базам данных и другим ресурсам, хранимым на сервере; динамически создавать web-документы в качестве ответа клиенту; использовать серверные компоненты, предназначенные для решения типовых задач; осуществлять аутентификацию пользователя.

Perl

Когда веб-программирование зарождалось, наиболее часто используемым языком программирования был Perl. Perl был создан в 1986 году как инструмент для администрирования и конфигурирования системных ресурсов сети, состоящей из Unix-компьютеров. Синтаксис выражений Perl близок к синтаксису C++. Это рекурсивный язык с рекурсией произвольной глубины. Perl приспособлен для сканирования текстовых файлов, но может обрабатывать и двоичные данные. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на C++ куски кода на Perl. Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых документов и файлов, извлечения из них необходимой информации и выдачи сообщений. Этот язык прост в использовании и эффективен. Язык получил большое распространение как инструмент создания исполняемых модулей-скриптов WWW-сервера. Perl скрипты можно использовать для решения всех задач, возникающих при обеспечении WWW-доступа к базам данных. Perl эффективен также при обработке произвольных структур данных: отчетов, списков, карточек. Perl является надежным языком программирования, которым до сих пор пользуются многие разработчики.

if ("Hello World" =~ /World/) { print "It matches\n"; }

else { print "It doesn't match\n"; }

ASP .NET

Новейшей версией технологии Active Server Pages является ASP .NET, ключевая в архитектуре Microsoft .NET Framework. Основное отличие этой технологии от ASP заключается в том, что код, присутствующий на Web-странице, не интерпретируется, а компилируется и кэшируется. Это повышает производительность Веб - приложений.

С помощью ASP.NET можно создавать Web-приложения и Web-сервисы, которые не только позволяют реализовать динамическую генерацию HTML-страниц, но и интегрируются с серверными компонентами.

Клиентами Web-сервера может быть и мобильные устройства, отличающиеся ограниченным размером экрана, малым объемом памяти. Для этих устройств существуют свои протоколы передачи. При этом необходимо пе­редавать данные на мобильное устройство в соответствующем формате, для чего нередко создаются специальные сайты (например, поддерживающие WAP и WML). Более удобным представляется создание приложений, которые способны генерировать тот или иной код в зависимости от типа клиента. Именно такой подход и реализован в Microsoft ASP .NET.

PHP

PHP хорошо справляется с задачей написания серверных скриптов и отлично интегрирован в сферу создания сайтов. Его используют в каче­стве базового языка программирования при создании сайтов, работающих на веб-сервере Apache и Nginx.

Этот язык программирования более простой, чем, технология создания сайтов ASP.NET. Но, в отличие от более строгих языков, в которых присутствует типизация и другие ограничивающие факторы, в этом языке может получаться скрипт, который вроде бы и выполняет необходимый сценарий, но где-нибудь будет появляться то одна, то другая ошибка. В случае с ASP.NET создать конечный продукт, который работал бы с ошибками, трудно. Но и на PHP создают и маленькие сайты, и крупные порталы.

<?php if ($expression) { ?>

<strong>Это истина.</strong> <?php

} else {

?>

<strong>Это ложь.</strong> <?php

}

?>

Технология Ruby On Rails

В последнее время многие стали использовать фреймворк для построения веб-сайтов с каталогом продукции, использующих базы данных, Ruby On Rails. Эта технология совместима со всеми известными вариантами веб-серверов и баз данных. Главным достоинством технологии считают возможность увеличения скорости создания сайтов на 30-40% по сравнению с использованием PHP. Обеспечивается это большим количеством шаблонных библиотек и кода.

Ruby (англ. ruby — рубин) —интерпретируемый высокоуровневый язык объектно-ориентированного программирования вышедший в свет в 1995 году. Создатель Ruby — Юкихиро Мацумото. Целью разработки было создание «настоящего объектно-ориентированного», лёгкого в разработке, интерпретируемого языка программирования. Язык обладает независимой от ОС реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и другими возможностями. Ruby близок по синтаксису к языкам Perl, Smalltalk, Python, Lisp. Сейчас Ruby входит в большинство дистрибутивов ОС Linux и доступен пользователям других операционных систем.

#Gemfile source 'http://rubygems.org' gem 'rails', '3.0.9' gem 'sqlite3' gem 'haml-rails'

Ruby — объектно-ориентированный язык, в котором все данные являются объектами, а. каждая функция — методом. Все переменные в Ruby являются ссылками. Например:

a = "abcdefg"

b = a

b #=> "abcdefg"

a[3] = 'R'

b #=> "abcRefg"

При изменении значения переменной a, неявно изменилось и значение b, так как они содержат ссылку на один объект. Ruby не поддерживает множественное наследование, но вместо него есть мощный механизм примесей. Все классы Ruby выведены из класса Object, следовательно, любой объект может использовать определённые в нём методы.

Ruby поддерживает процедурный стиль (определение функций и переменных вне классов, все глобальные процедуры неявно являются закрытыми методами класса Object), объектно-ориентированный (всё — объект), функциональный (анонимные функции, замыкания, возврат значения всеми инструкциями, возврат функ­цией последнего вычисленного значения). Он поддерживает отражение, метапрограммирование, информацию о типах переменных на стадии выполнения (динамическая идентификация типа).

Возможности Ruby

  • Позволяет обрабатывать исключения в стиле Java и Python.

  • Позволяет переопределять операторы (методы).

  • Не поддерживает множественное наследование, но может использовать концепцию «примесей», основанную на механизме модулей.

  • Содержит автоматический сборщик мусора.

  • Легко позволяет создавать расширения для Ruby на Си.

  • Поддерживает замыкания с полной привязкой к переменным.

  • Поддерживает блоки кода ({ … } или do … end).

  • Целые переменные в Ruby автоматически конвертируются между типами Fixnum (32-разрядные) и Bignum (больше 32 разрядов) в зависимости от их значения, что позволяет производить целочисленные математические расчёты со сколь угодно большой точностью.

  • Не требует предварительного объявления переменных, но для ин­тер­претатора желательно, чтобы переменным присваивалось пустое значение nil (тогда интерпретатор знает, что идентификатор обозначает переменную, а не имя метода). Язык использует простые соглашения для обозначения области видимости. Пример: просто var — локальная переменная, @var — переменная экземпляра, @@var — переменная класса, $var — глобальная переменная.

  • В Ruby непосредственно в языке реализованы многие шаблоны проек­тирования, так, например, «одиночка» (singleton) может быть (хотя и не обязан) реализован добавлением необходимых методов к одному конкрет­ному объекту.

В Ruby есть немало оригинальных решений, редко встречающихся в распространённых языках программирования. Можно добавлять методы не только в любые классы, но и в любые объекты. Например, можно добавить к некоторой строке произвольный метод.

# всё от символа и до конца строки – комментарий

# = является оператором присваивания,

# символы в «"» - строка, которой можно манипулировать

str = "Привет" # здесь создаётся переменная str, типа String

# def - ключевое слово для объявления функции

def str.bye# str. указывает, кому принадлежит метод (по умолчанию Object)

# bye - имя метода, за ним может следовать необязательный,

#заключённый в круглые скобки список параметров

"Пока!"

# из метода возвращается последнее значение- строка

end # ключевым словом end заканчиваются инструкции

# puts - метод,

# str.bye - обращение к методу bye объекта str

# значение, полученное из метода bye передаётся методу puts

# который выводит на экран информацию

puts str.bye #=> Пока!

Этот пример демонстрирует, как в Ruby можно использовать синглтон. В этом примере синглтоном является объект str.

Любая конструкция в Ruby возвращает значение. Например:

# конструкция if вычисляет выражение и, если оно истинно,

# возвращает результат между then и else, иначе между else и end

puts( if 5 > 3 then "Одно" else "Другое" end ) #=> Одно

# происходит присваивание значения переменной var, и

# возвращает значение var, которое выводится на экран

puts( var = 5 ) #=> 5

Контейнеры

Работа с массивами — одна из сильных сторон Ruby. Они автоматически изменяют размер, могут содержать любые элементы, а язык предоставляет мощные средства для их обработки.

# создаём массив

a = [1, 'hi', 3.14, 1, 2, [4, 5] * 3]

# => [1, "hi", 3.14, 1, 2, [4, 5, 4, 5, 4, 5]]

# обращение по индексу

a[2] # => 3.14

# «разворачиваем» внутренние массивы, удаляем одинаковые элементы

a.flatten.uniq # => [1, 'hi', 3.14, 2, 4, 5]

# пытаемся найти индекс элемента со значением 6

a.index(6) # => nil

# неудача: возвращается значение nil

#почти для всех функций предоставляется

# аналог с тем же названием, но заканчивающийся на «!»,

# который модифицирует контейнер

a.flatten! # => [1, "hi", 3.14, 1, 2, 4, 5, 4, 5, 4, 5]

# находим индекс первого элемента со значением 4

a.index(4) # => 5

Процедурные объекты и итераторы

В языке есть 2 эквивалентных способа записи блоков кода:

{ puts "Hello, World!" }

do puts "Hello, World!" end

Сопрограммы применяются с большинством встроенных методов:

File.open('file.txt', 'w') {|file| # открытие файла «file.txt» для записи («w» - write)

file.puts 'Wrote some text.'

} # Конструкция устраняет неопределённость с закрытием файла: за­крывается здесь при любом исходе

Следующий пример показывает использование сопрограмм и итераторов для работы с массивами, который показывает краткость записи на Ruby многих достаточно сложных действий (случайно выбираем из последо­вательности квадратов чисел от «0» до «10» и распечатываем вместе с индексами):

# для работы требуется ruby 1.9

(0..10).collect{|v| v ** 2 }.select{ rand(2).zero? }.map.with_index {|*v| v }

Исключения

Исключения возбуждаются с помощью конструкции raise (или fail), опционально могут быть добавлены текст с сообщением, тип исключения и информация о стеке вызовов:

raise ArgumentError, "Неверный аргумент", caller

# caller - метод, возвращающий текущий стек выполнения

Обрабатываются исключения с использованием конструкции rescue. Опционально можно указать тип обрабатываемого исключения (по умолчанию обрабатываются все) и получение информации. Также можно добавлять блоки else (выполняется если исключения отсутствовали) и ensure (выполняется в любом случае).

begin

# ...

rescue RuntimeError => e

# обрабатываем конкретный тип ошибок

puts e # напечатаем сообщение об ошибке

rescue

# можно писать rescue => e чтобы получить объект исключения

# обрабатываем все исключения

else

# сработает, если исключений не было

ensure

# сработает в любом случае

end

Для Ruby существуют несколько реализаций: официальный интерпретатор, написанный на Си, JRuby — реализация для Java, интерпрета­тор для платформы .NET IronRuby, Rubinius — написанная в основном на Ruby и базирующаяся на идеях Smalltalk-80 VM,

С официальной версией интерпретатора Ruby поставляется командная оболочка Ruby (Interactive Ruby Shell). Запускаемая командой irb в окне терминала (интерфейсе командной строки), она позволяет тестировать код программы очень быстро (построчно):

Имитацию irb можно запустить непосредственно в браузере.

В поставке дистрибутива One-Click Installer для Windows, поставляется утилита fxri, которая включает в себя справочную систему (ri) и интерактивный интерпретатор (irb).

Стандартная библиотека и расширения

Кроме мощных возможностей, встроенных в язык, Ruby поставляется с большой стандартной библиотекой, которая включает библиотеки для работы с различными сетевыми протоколами на стороне сервера и клиента, средства для работы с различными форматами представления данных (XML, XSLT, YAML, PDF, RSS, CSV, WSDL). Также есть библиотеки для работы с архивами, датами, кодировками, матрицами, средства для системного администрирования, распределённых вычислений, поддержки многопоточности.

В языке Ruby осуществлён простой и удобный механизм для расширения языка с помощью библиотек, написанных на Си.

Для унифицированного доступа к базам данных разработана библиотека Ruby DBI (поддерживает SQLite, Oracle, ODBC, MySQL, DB2, MS SQL, InterBase, ADO и др.). Также существуют библиотеки для конкретных баз данных, поддерживающих специфические для них операции. Реализована библиотека для работы с OpenGL, позволяющая про­граммировать трёхмерную графику. Win32utils — позволяет обращаться к специфическим возможностям Win32 API. Rmagick — библиотека для работы с изображениями, поддерживающая более 90 форматов (основана на ImageMagick и GraphicsMagick). Библиотека Ruport (Ruby reports) предназначена для лёгкой реализации отчётов и создания диаграмм на основе данных из БД или прямо из текстовых файлов CSV. Причём результаты можно сохранять в форматах PDF, HTML, CSV и TXT.

Большинство расширений распространяются под свободными лицензиями (LGPL, лицензия Ruby) и могут быть использованы в любом проекте практически без ограничений.

Система RDoc предназначена для автоматического извлечения документации из исходных кодов и программ на Ruby и её дальнейшей обработки. Является стандартом для подготовки документации по про­граммному обеспечению, написанному на Ruby. Онлайн-документация доступна на сайте http://www.ruby-doc.org.

Python

Технология Python также довольно популярна в среде веб-разработчиков. В данном случае также существуют объемные готовые библиотеки, облегчающие задачу по созданию промо-сайтов. В целом же Python является многофункциональным языком программирования, с помощью которого можно создавать пользовательские веб-прило­жения, сценарии для веб-серве­ров и многое другое.

def myWonderfulMethod():   return "Некоторый метод" myWonderfulMethod = staticmethod(myWonderfulMethod)

ASP.NET -

Создание веб-сайта требует использования различных технологий: графический дизайн, верстка HTML, программирование клиентской части — интерфейс пользователя, и программирование серверной части. Microsoft ASP.NET представляет собой комплекс­ную технологию серверного про­граммирования со встроенными средствами создания ин­терфейса пользова­теля.

Достоинства ASP.NET

  1. Объектно-ориентированный подход.

  2. Поддержка визуальных компонентов, инкапсулирующих не только вы­вод HTML, но и Javascript и даже AJAX. Кроме встроенных, суще­ствуют компо­ненты сторонних производителей. Есть возможность наследо­вать свой компонент от чужого и улучшать его, адаптируя под свои потреб­ности.

  3. Встроенные визуальные компоненты для редактирования и отображения данных, навигации, авторизации и т.д.

  4. Встроенные средства кэширования, мониторинга, позволяющие повысить производительность и масштабируемость приложений.

  5. Полноценный компилируемый язык программирования (C#, VB.NET, Delphi, J#)

  6. Удобная среда разработки и отладки приложений

  7. Шаблоны дизайна, пользовательские элементы управления, мо­дель codebehind — позволяют не только отделить программный код от пред­ставления, но и использовать многократно один и тот же код.

  8. Встроенная авторизация и аутентификация.

  9. Встроенная поддержка веб-сервисов

  10. Расширяемая архитектура, основанная на провайдерах в таких об­лас­тях как:

    • Авторизация

    • Хранение файлов

    • Компиляция

    • Сессия

  11. Усовершенствованная архитектура доступа к данным ADO.NET

  12. Встроенная поддержка локализации сайтов (многоязычность)

  13. ASP NET - технология разработки веб сайтов любой сложно­сти

ASP NET - технология создания веб сайтов от компании Майкрософт. На данный момент последней версией этой технологии является ASP.NET 4.0. Разработчики пишут код для ASP.NET, используя языки программирования C# или Visual Basic.NET. При первом обращении к странице сайта, созданного на ASP NET, код компилируется и помещается в специальный кэш, поэтому впоследствии не требует затрат времени на парсинг, оптимизацию, и т. д. Вследствие ASP.NET имеет преимущество в скорости по сравнению со скриптовыми технологиями (Perl, Python, PHP, Ruby).

В ASP NET встроена поддержка AJAX. Создание сайта на ASP NET ведется в среде разработки Visual Web Developer, которая позволяет большинство ошибок отлавливать ещё на стадии разработки. ASP.NET позволяет создавать сайты со сложной бизнес-логикой. Применять ASP.NET для небольших проектов не всегда рационально. На ASP.NET делают сайты финансовых организаций ( http://www.webmoney.ru/) и большинство банковских сайтов.

Платформа ASP.NET2/MS SQL Server 2005 стала платформой для создания очень больших корпоративных порталов и систем.

C#

(Си-шарп) — объектно-ориентированный язык программирования для платформы .NET. Разработан в 2000 году Андерсом Хейлсбергом, Скоттом Вилтамутом и Питером Гольде под эгидой Microsoft Research. Основным постулатом С# является высказывание: "всякая сущность есть объект". Язык основан на строгой компонентной архитектуре и реализует передовые механизмы обеспечения безопасности кода. C# был создан специально для технологии ASP.NET.  В то же время, на C# полностью написана и сама ASP.NET. C# — это полнофункциональный объектно-ориентированный язык, который поддерживает все три «столпа» объектно-ориентированного программирования: инкапсуляцию, наследование и полиморфизм. Он имеет прекрасную поддержку компонентов, надежен и устойчив благодаря использованию «сборки мусора», обработки исключений, безопасности типов.

Язык C# разрабатывался "с нуля" и вобрал в себя много полезных свойств таких языков, как C++, Java, Visual Basic, Delphy и др. Как и Java, C# разрабатывался специально для Интернет Примерно 75  процентов его синтаксических возможностей аналогичны языку про­граммирования Java, его также называют «очищенной версией Java».

Третья версия языка C# была представлена в 2005г.