<!DOCTYPE article
PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20190208//EN"
       "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.4" xml:lang="en">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">Program systems: theory and applications</journal-id>
   <journal-title-group>
    <journal-title xml:lang="en">Program systems: theory and applications</journal-title>
    <trans-title-group xml:lang="ru">
     <trans-title>Программные системы: теория и приложения</trans-title>
    </trans-title-group>
   </journal-title-group>
   <issn publication-format="print">2079-3316</issn>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="publisher-id">1276</article-id>
   <article-id pub-id-type="doi">10.12737/2422</article-id>
   <article-categories>
    <subj-group subj-group-type="toc-heading" xml:lang="ru">
     <subject>Математические основы программирования</subject>
    </subj-group>
    <subj-group subj-group-type="toc-heading" xml:lang="en">
     <subject></subject>
    </subj-group>
    <subj-group>
     <subject>Математические основы программирования</subject>
    </subj-group>
   </article-categories>
   <title-group>
    <article-title xml:lang="en">Constructive synthesis of Web-based application user interfaces</article-title>
    <trans-title-group xml:lang="ru">
     <trans-title>Конструктивный синтез пользовательских интерфейсов Web-приложений </trans-title>
    </trans-title-group>
   </title-group>
   <contrib-group content-type="authors">
    <contrib contrib-type="author">
     <name-alternatives>
      <name xml:lang="ru">
       <surname>Кочуров</surname>
       <given-names>Евгений Владимирович</given-names>
      </name>
      <name xml:lang="en">
       <surname>Kochurov</surname>
       <given-names>Evgeniy Владимирович</given-names>
      </name>
     </name-alternatives>
     <email>eugene_vk@mail.ru</email>
    </contrib>
   </contrib-group>
   <pub-date publication-format="print" date-type="pub" iso-8601-date="2013-10-10T00:00:00+04:00">
    <day>10</day>
    <month>10</month>
    <year>2013</year>
   </pub-date>
   <pub-date publication-format="electronic" date-type="pub" iso-8601-date="2013-10-10T00:00:00+04:00">
    <day>10</day>
    <month>10</month>
    <year>2013</year>
   </pub-date>
   <volume>4</volume>
   <issue>4</issue>
   <fpage>45</fpage>
   <lpage>59</lpage>
   <self-uri xlink:href="https://riorpub.com/en/nauka/article/1276/view">https://riorpub.com/en/nauka/article/1276/view</self-uri>
   <abstract xml:lang="ru">
    <p>В статье рассматривается приложение метода конструктивного &#13;
синтеза программ к созданию пользовательских интерфейсов Web-приложений. Для решения данной задачи построена специализированная конструктивная логика, которая позволяет синтезировать гарантированно правильные модели интерфейсов. Рассмотрена программная реализация и результаты практического использования модели.</p>
   </abstract>
   <trans-abstract xml:lang="en">
    <p>The article discusses the application of the method of constructive &#13;
program synthesis to create user interfaces for Web-based applications. Specialized &#13;
constructive logic is introduced, which allows to synthesize models of guaranteed &#13;
right user interfaces. We consider the software implementation and results of the &#13;
practical application of the model.</p>
   </trans-abstract>
   <kwd-group xml:lang="ru">
    <kwd>пользовательский интерфейс</kwd>
    <kwd>метод конструктивного синтеза программ</kwd>
    <kwd>конструктивная логика</kwd>
    <kwd>web-приложение</kwd>
    <kwd>html-шаблон.</kwd>
   </kwd-group>
   <kwd-group xml:lang="en">
    <kwd>user interface</kwd>
    <kwd>method of constructive program synthesis</kwd>
    <kwd>con-structive logic</kwd>
    <kwd>Web-based application</kwd>
    <kwd>html-template.</kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <p>ВведениеНа сегодняшний день существует множество технологий и фреймворков для создания Web-приложений и, в частности, пользовательских интерфейсов, предназначенных для отображения в браузерах. И это не удивительно в связи с тем, что глобальные сети находят широчайшее применение во многих отраслях экономики, касается ли это потребительского, корпоративного или государственного сектора.Процессы стандартизации языков HTML[1], CSS[2] и javascript[3] позволили достичь не только высокой степени кросс-платформенности пользовательских интерфейсов, но и достаточно хорошей степени кроссбраузерности, поэтому использование соответствующих стандартов при построении Web-приложений на сегодня стало доминирующим подходом.Однако при разработке больших приложений одних только стандартов оказывается недостаточно: нужны шаблоны проектирования, библиотеки стандартных элементов управления, средстваподдержки логики представления (например, Presenter в модели MVP[4]) и многое другое. Соответствующие инструментальные средства все еще находятся в стадии становления, поэтому охватить весь стек необходимых технологий удается лишь в достаточно нишевых инструментах. В качестве хороших примеров из разряда свободно распространяемых продуктов можно привести MediaWiki[5], Drupal[6], WordPress[7]. Неизбежной расплатой для таких систем является привязка к серверным технологиям, что ограничивает возможности применения в ситуациях, когда серверное окружение для разработчика фиксировано.Если рассматривать клиентские библиотеки, которые не зависят от серверных технологий, то четко прослеживается их специализация: на манипуляции с DOM-моделью (jQuery[8], Zepto.js[9]), стилевом оформлении страниц и элементах управления (Bootstrap[10], jQuery UI[11], w2ui[12]), построении каркасов приложений (AngularJS[13], Backbone.js[14], Knockout[15]).</p>
 </body>
 <back>
  <ref-list>
   <ref id="B1">
    <label>1.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">HTML 4.01 Specification. URL: http://www.w3.org/TR/REC-html40/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">HTML 4.01 Specification. URL: http://www.w3.org/TR/REC-html40/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B2">
    <label>2.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. URL: http://www.w3.org/TR/CSS2/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. URL: http://www.w3.org/TR/CSS2/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B3">
    <label>3.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">ECMAScript Language Specification - ECMA-262 Edition 5.1. URL: http://www.ecma-international.org/ecma-262/5.1/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">ECMAScript Language Specification - ECMA-262 Edition 5.1. URL: http://www.ecma-international.org/ecma-262/5.1/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B4">
    <label>4.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Архитектура MVP. URL: http://www.gwtproject.org/articles/mvp-architecture.html (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">Arkhitektura MVP. URL: http://www.gwtproject.org/articles/mvp-architecture.html (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B5">
    <label>5.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">MediaWiki. URL: http://www.mediawiki.org/wiki/MediaWiki (да-та обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">MediaWiki. URL: http://www.mediawiki.org/wiki/MediaWiki (da-ta obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B6">
    <label>6.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Drupal - Open Source CMS | drupal.org. https://drupal.org/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">Drupal - Open Source CMS | drupal.org. https://drupal.org/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B7">
    <label>7.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">WordPress › Русский. URL: http://ru.wordpress.org/ (дата об-ращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">WordPress › Russkiy. URL: http://ru.wordpress.org/ (data ob-rashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B8">
    <label>8.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">jQuery. URL: http://jquery.com/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">jQuery. URL: http://jquery.com/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B9">
    <label>9.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Zepto.js: the aerogel-weight jQuery-compatible JavaScript library. URL: http://zeptojs.com/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">Zepto.js: the aerogel-weight jQuery-compatible JavaScript library. URL: http://zeptojs.com/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B10">
    <label>10.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Bootstrap. URL: http://getbootstrap.com/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">Bootstrap. URL: http://getbootstrap.com/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B11">
    <label>11.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">jQuery UI. URL: http://jqueryui.com/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">jQuery UI. URL: http://jqueryui.com/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B12">
    <label>12.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">w2ui: Home | JavaScript UI. URL: http://w2ui.com/web/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">w2ui: Home | JavaScript UI. URL: http://w2ui.com/web/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B13">
    <label>13.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">AngularJS - Superheroic JavaScript MVW Framework. URL: http://angularjs.org/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">AngularJS - Superheroic JavaScript MVW Framework. URL: http://angularjs.org/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B14">
    <label>14.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Backbone.js. URL: http://backbonejs.org/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">Backbone.js. URL: http://backbonejs.org/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B15">
    <label>15.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Knockout : Home. URL: http://knockoutjs.com/ (дата обраще-ния: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">Knockout : Home. URL: http://knockoutjs.com/ (data obrashche-niya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B16">
    <label>16.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Бельтюков А. П. Дедуктивный синтез программ первого порядка // Технологии информатизации профессиональной деятельности (в науке, образовании и промышленности) - ТИПД-2011 : тр. 3 Всерос. науч. конф. с междунар. участием, Ижевск, 8-12 нояб. 2011 г., Т.1, Удмуртский университет, 2011, 451-470.</mixed-citation>
     <mixed-citation xml:lang="en">Bel&amp;#180;tyukov A. P. Deduktivnyy sintez programm pervogo poryadka. Tekhnologii informatizatsii professional&amp;#180;noy deyatel&amp;#180;nosti (v nauke, obrazovanii i promyshlennosti) - TIPD-2011 : tr. 3 Vseros. nauch. konf. s mezhdunar. uchastiem, Izhevsk, 8-12 noyab. 2011 g., T.1, Udmurtskiy universitet, 2011, 451-470.</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B17">
    <label>17.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Underscore.js. URL: http://underscorejs.org/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">Underscore.js. URL: http://underscorejs.org/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B18">
    <label>18.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">Online JavaScript beautifier. URL: http://jsbeautifier.org/ (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">Online JavaScript beautifier. URL: http://jsbeautifier.org/ (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
   <ref id="B19">
    <label>19.</label>
    <citation-alternatives>
     <mixed-citation xml:lang="ru">The MIT License (MIT) | Open Source Initiative. URL: http://opensource.org/licenses/MIT (дата обращения: 30.09.2013).</mixed-citation>
     <mixed-citation xml:lang="en">The MIT License (MIT) | Open Source Initiative. URL: http://opensource.org/licenses/MIT (data obrashcheniya: 30.09.2013).</mixed-citation>
    </citation-alternatives>
   </ref>
  </ref-list>
 </back>
</article>
