От автора: очень часто создавая скрипты с использованием языка JavaScript, необходимо отображать результат в определенном виде. При этом если данных не много мы с легкостью сможем добавить их в один из существующих блоков сайта, ну или, по крайней мере, создать данный блок. Но что если скрипт формирует огромное количество различной информации, для отображения которой одного блока просто не достаточно.
![]() |
Автор: Виктор ГавриленкоМеня зовут Виктор Гавриленко, по образованию я инженер электромеханик. Еще учась в институте, начал увлекаться компьютерными технологиями и программированием, на протяжении двух лет усиленно занимаюсь разработкой интернет сайтов и веб-программированием. Увлекаюсь написанием небольших скриптов на языке PHP, в связке базами данных MySQL, SQLite, неплохо знаю такие движки как WordPress, Drupal, Joomla. |
Поэтому в данном уроке, я хотел бы рассказать Вам о фреймворке Webix, языка JavaScript, при помощи которого, можно быстро и легко реализовать кроссбраузерное и интерактивное веб-приложение. Причем оно успешно будет работать как на десктопных так и на мобильных устройствах.
Итак, как было сказано выше WebIx – это JavaScript фреймворк, который значительно облегчает создание приложений с адаптивным дизайном. При этом он очень легок в освоении, хорошо документирован и позволяет создавать сложные и интерактивные веб-приложения. Причем он сравнительно мало весит и обладает высоким быстродействием.
Помимо этого, WebIx хорошо интегрируется с популярными библиотеками, такими как Backbone.js, AngularJS и конечно же, всем известная jQuery. Официальный сайт фреймворка вы найдете по следующей ссылке.
Обратите внимание – на главной странице в самом верху, расположены ссылки на официальную документацию по WebIx. Для скачивания последней актуальной версии фреймворка, кликаем по кнопке “Скачать” и переходим на страницу выбора версии – платной или бесплатной. Традиционно платная версия обладает более широким функционалом нежели бесплатная, но порой ее вполне достаточно для реализации типовых задач, а значит, ее и скачиваем.
Содержимое скачанного архива, а именно каталог codebase, располагаем в папке хранения JavaScript. Далее, к интересующей странице, необходимо подключить стили, а также основное логическое ядро фреймворка WebIx.
1 2 |
<link rel="stylesheet" href="js/codebase/webix.css"> <script src="js/codebase/webix.js"></script> |
На этом установка библиотеки завершена, а значит, мы можем приступать к работе, используя ее функционал. К тестовой странице, я подключил пустой файл script.js, в котором мы будем писать код.
Для инициализации компонентов фреймворка Webix, необходимо использовать метод конструктор ui(), который может быть дополнительно добавлен в функцию обработчик метода ready(). В этом случае Вы можете быть на 100% уверенны, что выполнение кода начнётся только после полной загрузки страницы (эквивалент события body.onLoad).
1 2 3 4 5 |
webix.ready(function(){ webix.ui({ //код скрипта }); }); |
Для формирования структуры будущего проекта, необходимо использовать компонент Webix Layout. Который задает каркас приложения, разделяя его на колонки — cols и ряды – rows. К примеру, если в будущем проекте необходимо реализовать три колонки, необходимо использовать следующий код.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
webix.ready(function(){ webix.ui({ container:"wrapper", type:'head', height: 200, width: 800, rows:[ { template:"Ряд № 1" }, { template:"Ряд № 2" }, { template:"Ряд № 3" }, ] }); }); |
Обратите внимание, что по сути передавая необходимые параметры при вызове метода ui(), Вы тем самым формируете структуру будущего проекта. В примере выше использованы следующие свойства:
Свойство rows, определяет ряды приложения и по большому счету, ряд – это отдельная ячейка массива rows, в которой располагается объект. Опять же свойства данного объекта будут определять содержимое ряда.
Для задания размеров создаваемых рядов, Вы можете использовать свойства width и height (ширина и высота соответственно).
container – селектор элемента, в который будет помещен результат работы фреймворка.
type – тип разделителя рядов. Поддерживаемые значения — «line» (по умолчанию), «head», «space», «wide» и «clean» (без границы).
template – простой текст, который будет отображен в определенном элементе.
При этом на экране мы увидим следующее.
Далее давайте во второй ряд, добавим три колонки, для этого используем следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
webix.ready(function(){ webix.ui({ container:"wrapper", type:'head', rows:[ { template:"Ряд № 1" }, { cols:[ { template:"Колонка №1", width:200 }, { template:"Колонка №2", width:500 }, { template:"Колонка №2" } ] }, { template:"Ряд № 3" } ] }); }); |
Свойство cols, формирует колонки будущего проекта. При этом каждая колонка это объект в отдельной ячейке массива. Для создания форм во фреймворке WebIx, необходимо использовать специальное свойство view, которое определяет вид отображаемых данных.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
webix.ready(function(){ webix.ui({ container:"wrapper", type:'head', rows:[ { template:"Ряд № 1" }, { cols:[ { template:"Колонка №1", width:200 }, { template:"Колонка №2", width:600 }, { /*template:"Колонка №3"*/ view:"form", id:"form1", elements:[ { view:"text",name:"title",placeholder:"Введите заголовок", align:"center",width:250 }, { view:"text",name:"email",placeholder:"Введите Email", align:"center" }, { view:'checkbox', labelRight:"Чекбокс", name:"accept" }, { view:'button', value:"Отправить", align:"center", click:"add_item" } ] } ] }, { template:"Ряд № 3" } }); }); |
Для формирования формы, используется свойство view, со значением form. При этом, так же необходимо указать идентификатор будущей формы – свойство id, и обязательно определить свойство elements, в качестве значения которого, используется массив, элементов будущей формы. Соответственно, в каждой ячейке массива, располагается отдельный элемент формы, представляющий собой объект.
Значение свойства view, определяет необходимый элемент будущей формы:
text – текстовая область;
textarea – поле добавления текста большого объема;
checkbox – элемент чекбокс;
radio – радио-кнопка;
button – кнопка.
Для создания списка определенных элементов, в свойство view, необходимо передать значение list.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
var myData = [ { title: "Елемент ", number: " 1" }, { title: "Елемент ", number: " 2" }, { title: "Елемент ", number: " 3" }, { title: "Елемент ", number: " 4" } ]; webix.ready(function(){ webix.ui({ container:"wrapper", type:'head', rows:[ { template:"Ряд № 1" }, { cols:[ { template:"Колонка №1", width:100 }, { view:"list",id:"myList",template:"<strong>#title#</strong> - #number#!",select:true,data:myData }, { view:"form", id:"form1", elements:[ { view:"text",name:"title",placeholder:"Введите заголовок", align:"center",width:250 }, { view:"text",name:"email",placeholder:"Введите Email", align:"center" }, { view:'checkbox', labelRight:"Чекбокс", name:"accept" }, { view:'button', value:"Отправить", align:"center", click:"add_item" } ] } ] }, { } ] }); }); |
Обратите внимание, что свойство template, определяет шаблон отображения данных в каждом элементе списка. При этом в шаблоне допускается использовать специальные метки, выделенные символами #, значения которых сформированы в специальном массиве, заданном в свойстве data.
Как Вы видите, фреймворк WebIx предлагает достаточно интересный и удобный в работе функционал, а значит, если он Вас заинтересовал – используйте его в своих наработках.
На этом данный урок завершен. Всего Вам доброго и удачного кодирования!!!