.RU

1.2Выбор сервера приложения - Пояснительная записка к курсовому проекту по дисциплине “Сучасні технології розробки...


^ 1.2Выбор сервера приложения 1.2.1Classic Asp
Сейчас обычно CGI подобные веб-приложения разделяют на три вида, по принципам их программирования. Классический Asp, представлял собой скрипт генератор, очень похожий на Php, Perl или любое другое консольное приложение. Это можно отнести к первому виду, возможности которого, лишь по очерёдный вывод Html.

Язык разработки Asp был чаще всего VBScript – динамический, не типизированный язык, с очень малыми возможностями и конструкциями, что при этом давало ему поклонников именно за «простоту» языка. Как динамический интерпретируемый язык, он был более переносим между платформами, у него не было ограничений на размеры чисел и тому подобного. Кроме того, VBScript поддерживался в Internet Explorer, как клиентский язык, тоесть не требовал изучения дополнительных языков при разработке.

Asp получал большую часть функциональности за счёт переиспользования COM-обьектов. Программировать их приходилось в отдельных средах, сам язык не поддерживал обьектно-ориентированности. Что в результате приводило к невозможности создания сложных компонентных приложений в веб.
^ 1.2.2Asp.net Forms
Asp.Net Forms, или первоначально просто Asp.Net, представлял собой оппозицию к классическому ASP. И хотя Asp.Net поддерживал часть совместимости со старыми страницами, он являл собой совершенно другую архитектуру.

Asp.Net Forms построен полностью на .net framework, и все методы разработки и расширения функциональности также должны поддерживать CLR и быть CTS совместимы. Это значит, что разрабатывать можно, пользуясь десятком языков программирования, большим набором объектно-ориентированных встроенных и внешних контролов и компонентов. Принцип Asp.Net Forms часто называют событийной схемой. Похожее уже реализовано и в PHP(Prado[17]) однако возможности даже языков несравнимы, не говоря про эффективность платформы и возможностей frameworks.

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

Однако, к сожалению, весь подход разметки xml вида, все положительные моменты, отрицательно срабатывают в случае потребности в более высоком уровне управляемости. Работа с абстрактной объектной моделью вместо более чистого html, не помогает разрабатывать чистую разметку – более удобную для использования с JavaScript, особенно во внешних файлах. А при попытке управления большинством из процессов, количество разметки значительно превышает версии с линейными скриптами и шаблонизаторами.
^ 1.2.3Asp.net Mvc
В конце 2007 был анонсирован новый продукт[20] на базе стандартного asp.net, но без использования event-ориентированности. Он использовал уже широко принимаемый подход Model-View-Controller, который в Web уже был реализован в виде MonoRail[18], по аналогии с RubyOnRails[19]. Данный подход способствует уменьшению связности кода, увеличивает возможности по unit-тестированию серверного кода обработчиков. Также из-за не потребности поддержания объектной модели и загрузки состояния контролов, увеличивается количество возможных обрабатываемых запросов в секунду.

Анализируя лучший из вариантов можно использовать Рисунок 1.1.



Рисунок 1.1 – Диаграмма выбора Asp.Net Mvc против Asp.Net Forms

^ 1.3Клиентская сторона 1.3.1История JavaScript
Как известно, большая часть функциональности в браузере производиться за счёт скриптовых динамических языков. Неоднократно были попытки введения в браузеры такие динамические языки как Python, Perl и VBScript. Однако исторически так сложилось, что самым стандартным и используемым языком управления DOM оказался JavaScript.

JavaScript – является самым часто употребляемым названием данного языка, однако нельзя назвать его единым языком или языком одних авторов. Исторически в 90ые была борьба двух его реализаций: JScript и JavaScript. Затем в концы 90х, они всё таки смогли прийти к общей стандартной модели, когда был создан стандарт EcmaScript. В целом этот стандарт представлял собой достаточно общее описание, под которое в дальнейшем был представлен даже ActionScript, язык Flash платформы. И до сих пор существует различия в браузерах, по поддержке JavaScript, однако так как языки эти до сих пор предоставляют обратную совместимость, минимальной и чаще всего используемой, является JavaScript 1.5, JScript 5.5 и EcmaScript 3.
^ 1.3.2Характеристика языка JavaScript
JavaScript – характеризуется, как язык:

  1. динамичный;

  2. функциональный;

  3. прототип-ориентированный;

По порядку, что это значит касательно качеств языка для строительства компонентных систем.

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

Динамичные языки, однозначно выигрывают, когда требуется написание кода для использования в системах каком то роде схожей с архитектурой COM-обьектов. COM-объекты - являются хорошим примером именно распределённого и эффективного выполнения кода. Например, на них построена большая часть функциональности Microsoft Office. Для управления его элементами или встраиванием функциональности при написании макросов используют VBScript, во многом схожий на JavaScript. Он позволяет использовать компоненты, без необходимости создания прокси обьектов, вместо этого используя свою динамичность ему нужно лишь знать интерфейс компонента и вызывать его.
^ 1.3.3Развитие и инструменты JavaScript
Сам по себе JavaScript имеет внутри своей структуры, всего десяток объектов, таких как типы данных: Number, Boolean, String, DateTime, так же объединяющие группы Array и Object, являющийся также прародителем всех, и единственный класс утилит RegExp. Не много, но на этой основе вполне успешно строятся все объекты DOM и манипуляции с ними.

При том динамичность, также позволяет использовать любые ActiveX, как родные объекты JavaScript. Из самых известных и используемых ActiveX конечно позволяющий браузеру асинхронно обращаться к страницам на сервере и обрабатывать ответ как XML распарсенный в DOM -Microsoft.XMLHTTP. В более новых браузерах он называется XmlHttpRequest, представляющий встроенный объект.

Со временем в новых браузерах, и новых версиях языка JavaScript, добавлялись новые методы в перечисленные объекты. Например, в версии JavaScript 1.6, Array был расширен новыми методами, для поиска и эффективной итерации. Однако использование нового API затруднительно, если приходиться постоянно перед каждым вызовом проверять браузер и версию языка, который выполняет код. Конечно в случае огромных временных ресурсов разработчиков, можно создавать отдельные версии кодов для каждой версии известных браузеров, но есть и более простой путь. Динамичность JavaScript позволяет реализовывать удобно не только обратную совместимость, но и совместимость с новым функционалом. Когда для нового функционала создают прототипные заглушки, чтобы старые браузеры могли выполнять новые функции, как бы в эмуляции, а новые быстрее встроенными возможностями. Так например для Array.indexOf и прочих методов, Mozilla на своём сайте выложила версии эмуляций.

Существует и другой путь развития, из кодов известных библиотек, в основу браузера. Этот подход имеет огромные преимущества, так как снижает нагрузки на сеть, повышает скорость выполнения и позволяет проверенными средствами давать больше возможностей разработчикам сложных веб-приложений. В Firefox 3.1 например, встроили реализованный json.org, безопасный и быстрый преобразователь JSON, чтобы освободить разработчиков от медленного и не совсем приспособленного для этого метода eval.

В 2003-2004 годах начали появляться более сложные RIA AJAX приложения, и в связи с этим должен был появиться более простой механизм применений определённых действий уже не к отдельным объектам, а целым группам. Подобные действия уже производились при помощи языка запросов XPath, но намного более приспособленным к HTML реалиям, был очень простой синтаксис CSS3. Он развивался, настолько органично с первой версии, что позволял новичкам также постепенно осваивать его возможности. Таким образом CSS 3 был взят за основу новых языков запросов написанных на JavaScript. Самой популяризирующей эту идею, первой была библиотека jQuery. В результате были созданы парсеры позволяющие всем известными CSS выражениями выбирать элементы, и присваивать им не только свойства отображения, но и поведение. После нескольких лет использования, в пик популярности в 2008 году, многие браузере в гонке оптимизаций, предложили стандартизировать данный подход, и уже сейчас в Firefox 3.1 и Safari, Chrome (WebKit), можно воспользоваться механизмом встроенного querySelectorAPI. Библиотеки же позволяют эмулировать этот API для старых браузеров, давая ещё один повод переходить на новые технологии пользователям, упрощая жизнь разработчикам.
^ 1.3.4ООП в JavaScript
Как известно, для реализации ООП, следует иметь возможность применения инкапсуляции, полиморфизма и наследования.

В javascript базовое наследование основано не на классах[22]. То есть, нет такого, что классы наследуют друг от друга, а объект класса-потомка получает общие свойства. Вместо этого объекты наследуют от объектов без классов. Наследование на классах можно построить(эмулировать), опираясь на базовое наследование javascript.

Реализуется наследование через неявную(внутреннюю) ссылку одного объекта на другой, который называется его прототипом и в спецификации обозначается [[prototype]]. Также существует свойство с похожим названием prototype (без квадратных скобок) - оно вспомогательное и указывает, откуда брать прототип при создании объекта.

Инкапсуляцию, интерфейсы, полиморфизм можно выстраивать не совсем встроено, а скорее используя некоторые принципы программирования.

033000-kulturologiya-osnovnaya-obrazovatelnaya-programma-visshego-professionalnogo-obrazovaniya-napravlenie-podgotovki.html
04-04-2012-glavnie-novosti-sporta-5.html
04-12-11-09-01-12-6-dnej5-nochej.html
04-ist-i-urovni-negat-faktorov-bit-sredi-vzsvyaz-negat-faktorov-bit-proizv-i-gorodskoj-sredi.html
04-mishlenie-i-nablyudenie-lekciya-tretya-aleksandr-pyatigorskij.html
040000--8-zhilishno-kommunalnie-uslugi-gosstandart-rossii-obsherossijskij-klassifikator-uslug-naseleniyu-ok.html
  • tests.bystrickaya.ru/metodicheskie-rekomendacii-po-razrabotke-planov-evakuacii-instrukcij-opredelyayushih-dejstviya-personala-po-obespecheniyu-bezopasnoj-i-bistroj-evakuacii-lyudej-iz-obrazovatelnih-uchrezhdenij-v-sluchae-pozhara.html
  • knigi.bystrickaya.ru/rekomendacii-k-rabote-muzikalnogo-rukovoditelya.html
  • uchenik.bystrickaya.ru/aktiviyat.html
  • education.bystrickaya.ru/242-meropriyatiya-po-razvitiyu-transportnoj-infrastrukturi-rajona-poyasnitelnaya-zapiska-polozheniya-o-territorialnom.html
  • tasks.bystrickaya.ru/15-kak-luchshe-polzovatsya-svoimi-pravami-kachestvennaya-medicinskaya-pomosh-kak-ee-poluchit-seriya-chto-vam-mogut-ne-skazat-.html
  • literature.bystrickaya.ru/ekologicheskaya-ekspertiza-v-rossii-chast-5.html
  • ucheba.bystrickaya.ru/programma-nauchno-issledovatelskogo-seminara-aktualnie-problemi-mezhdunarodnogo-prava-specialnosti-030500-68-podgotovka-magistra.html
  • crib.bystrickaya.ru/issledovanie-po-predmetu-okruzhayushij-mir.html
  • uchenik.bystrickaya.ru/byulleten-novih-postuplenij-za-mart-2009-g.html
  • control.bystrickaya.ru/drevnerusskaya-literatura-literatura-xviii-veka-istoriya-russkoj-literaturi-v-4-h-tomah-stranica-44.html
  • abstract.bystrickaya.ru/1-svedeniya-obshego-haraktera--11-mari-kak-etnicheskaya-gruppa-sovmestnij-otchet-mezhdunarodnaya-helsinkskaya-federaciya.html
  • desk.bystrickaya.ru/pismenno-otvetit-na-voprosi-k-teme-drevnie-egiptyane-nazivali-svoyu-stranu-kemet-chto-v-perevode-oznachalo.html
  • notebook.bystrickaya.ru/ispolzovanie-zemel-proizvoditelyami-selskohozyajstvennoj-produkcii-doklad-osostoyanii-i-ispolzovanii-zemel-v.html
  • lesson.bystrickaya.ru/pravootnosheniya.html
  • composition.bystrickaya.ru/po-zhalobam-o-narusheniyah-stati11-konvencii-byulleten-evropejskogo-suda-po-pravam-cheloveka.html
  • portfolio.bystrickaya.ru/po-imeni-anglijskogo-vracha-parkinsona-1755-1824-sindrom-progressiruyushego-porazheniya-nervnoj-sistemi-proyavlyayushijsya-snizheniem-obshej-dvigatelnoj-aktivnosti.html
  • esse.bystrickaya.ru/psiholog-v-doshkolnom-uchrezhdenii-publichnij-doklad.html
  • nauka.bystrickaya.ru/utverzhden-kodeks-chesti-sotrudnika-organov-narkokontrolya.html
  • tetrad.bystrickaya.ru/vidi-narushenij-pri-shkolnoj-dezadaptacii-opredelenie-faktori-vliyayushie-na-razvitie-shkolnoj-dezadaptacii.html
  • abstract.bystrickaya.ru/210-brajan-trejsi-trejsi-brajan-izmeni-svoe-soznanie-izmenitsya-tvoya-zhizn-kak-polnostyu-raskrit-svoj-potencial.html
  • zadachi.bystrickaya.ru/rol-evro-v-mirovoj-valyutnokreditnoj-sisteme-mvko.html
  • znanie.bystrickaya.ru/43-teksti-dlya-samostoyatelnoj-raboti-studentov-metodicheskie-ukazaniya-po-vipolneniyu-samostoyatelnoj-raboti-po.html
  • student.bystrickaya.ru/26-vibor-ustanavlivaemih-komponentov-rukovodstvo-freebsd.html
  • tetrad.bystrickaya.ru/velikobritaniya-soedinennoe-korolevstvo-velikobritanii-i-severnoj-irlandii.html
  • writing.bystrickaya.ru/grazhdanskoe-pravo-chast-3.html
  • kolledzh.bystrickaya.ru/51-otvetstvennost-rukovodstva-agtu-a-l-nevzorov-2007-g.html
  • tests.bystrickaya.ru/konkurs-ekologiya-tvorchestvo-molodezh-krasnokamsk-2006-eto-detstvo.html
  • teacher.bystrickaya.ru/glava-iv-souchastie-kommentarij-k-ugolovnomu-kodeksu-respubliki-moldova.html
  • control.bystrickaya.ru/dajdzhest-dlya-glavi-gorodskogo-okruga-po-kriticheskim-zamechaniyam-predlozheniyam-i-obrasheniyam-zhitelej-po-gorodskomu-okrugu-himki-s-12-po-18-yanvarya-2011-goda-stranica-2.html
  • report.bystrickaya.ru/gost-417-2002.html
  • nauka.bystrickaya.ru/urok-po-istorii-drevnego-mira-5-klass-priroda-i-lyudi-drevnej-indii.html
  • student.bystrickaya.ru/1944-godu-obshee-yazikoznanie-predmet-i-zadachi-kursa.html
  • desk.bystrickaya.ru/perspektivnij-plan-vvedeniya-profilnogo-obrazovaniya-ob-obrazovanii.html
  • tetrad.bystrickaya.ru/volosne-upavlnnya-volosnij-sud-po-burzhuaznim-reformam-60-h-rr-19-go-st-chast-2.html
  • zanyatie.bystrickaya.ru/reformirovanie-nalogovoj-sistemi-rf.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.