Меню подраздела

Бесплатный курс по webAsyst Shop-Script 4

Бесплатный курс по webAsyst 4

Корректор оЧепяток

Если Вы заметили в тексте опечатку, то, пожалуйста, сообщите мне об этом выделив ошибочное слово и нажав Shift + Enter

business_laptop_mwВ этой статье я расскажу о такой совершенно эксклюзивной вещи, как разработка интернет-приложений на заказ. Под интернет-приложениями я буду подразумевать скрипты на PHP и JavaScript, компоненты и модули для CMS Joomla!, Joostina, S.Builder и 1С-Битрикс.

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

  • PHP - самый легкий, гибкий, но в тоже время мощный язык для разработки скриптов, работающих на стороне сервера (сервер исполняет PHP скрипт и на выходе выдает HTML страницу для отображения её на клиентской машине, либо скрыто отдает обработанные данные на запрос с клиентской машины). Есть опыт работы с PHP фреймворками (библиотеками), в частности с Yii, Kohana и немного с ZendFramework.
  • MySQL - бесплатная система управления базами данных. В своих интернет-приложениях я предпочитаю хранить данные в такой базе данных, так как хранить массивы различной информации в сотнях файлов, а затем извлекать из них определенные строки при работе веб-сервера – дело хлопотное и медленное. БД позволяет структурировать и систематизировать информацию. Код для использования БД намного легче, чем аналогичный для работы с файлами, да и времени на запрос уходит куда меньше, если уметь строить оптимизированные запросы к БД. А строить сложные многоуровневые связанные запросы меня научила работа с 1С: Предприятие.
  • JavaScript - язык программирования на стороне клиента. То есть код на этом языке исполняется браузером на компьютере клиента. С помощью этого языка можно создавать красивые спецэффекты на веб-странице или делать интерактивные запросы на сервер по технологии AJAX для обновления информации на странице без её перезагрузки. Есть опыт работы с JS фреймворками, в частности с Dojo (наиболее мною ценимый) и с jQuery.
  • AJAX - технология взаимодействия клиента и сервера без использования перезагрузки страницы в браузере. Я использую связку JavaScript - PHP, то есть на какое-либо действие посетителя веб-страницы в браузере скрипт, написанный на JavaScript отсылает асинхронный запрос на сервер (при этом браузер не "зависает", а дальше обрабатывает действия пользователя), запрос получает PHP скрипт на сервере, обрабатывает его и отсылает ответ браузеру посетителя, где его подхватывает опять же JavaScript, который на основе этого ответа через модель DOM соответствующим образом обновляет веб-страницу в браузере посетителя. Для посетителя все эти действия проходят абсолютно прозрачно, то есть он нажал на кнопку, через некоторое время где-то изменилась надпись или изменился состав списка выбора и т.д.
  • JSON - лёгкий текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Объем передаваемых данных намного меньше, чем если использовать XML. Для работы с ним в PHP используется специальная библиотека для преобразования JSON строки в объекты PHP, хотя в некоторых случаях проще сформировать строку JSON для передачи её в браузер напрямую, без использования сторонних библиотек.
  • XML - текстовый формат, предназначенный для хранения структурированных данных для обмена информацией между программами. Использую, если надо организовать, например, использование шаблона на MS Excel 2007 для автоматизированного заполнения какого-либо табличного документа. В PHP очень удобно работать с XML как с деревом DOM, то есть методы работы примерно одинаковые что в PHP, что в JavaScript.
  • DOM - это независящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому документов, а также изменять содержимое, структуру и оформление документов. Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями родительский-дочерний. C помощью этой изумительной технологии очень просто можно изменять вид загруженной веб-страницы в браузере посетителя, то есть без каких-либо обращений к серверу и перезагрузки страницы можно кардинально поменять вид страницы работая с её DOM посредством JavaScript.
  • HTML (использую чаще версию XHTML 1.0 Transitional) + CSS. Почему не HTML, а XHTML? XHTML-документы соответствуют стандарту XML, и, следовательно, они могут просматриваться, редактироваться и проверяться на синтаксическую правильность стандартными средствами поддержки языка XML, если по русски, то мне проще писать валидный (синтаксически правильный) код. XHTML-документы поддерживаются всеми современными браузерами. XHTML-документы могут обращаться к сценариям и аплетам, основанным на объектной модели документов (DOM). XHTML-документы могут быть сверстаны без использования таблиц с помощью блоков, которые размещаются инструкциями CSS, в чем есть свои сильные преимущества (удобно править дизайн; читаемость кода - легко понять, что и где; поисковая оптимизация). Есть опыт разработки сайтов с использованием возможностей HTML5 и CSS3 (чаще всего на базе связок Boilerplate & Modernizr или Twitter Bootstrap & LESS).
  • 1С: Предприятие - есть возможность совместной работы корпоративной АСУП на базе 1С и сайта. Связку можно делать как через экспорт-импорт текстовых файлов (например XML или CSV) или можно напрямую из 1С связаться с базой данных MySQL на вашем сайте и обновить информацию напрямую.
  • И многое другое... Например, в последнее время в JavaScript я использую фреймворк Dojo. Я постоянно изучаю новые технологии, чтобы мои разработки всегда были современными и красивыми.

Все вышеописанные технологии могут использоваться одновременно, в одном интернет-приложении. В качестве примера могу привести один из последних скриптов - это скрипт для расчёта стоимости стальных дверей. Хотя страничка для заполнения комплектации двери не очень большая, однако в базе данных, на основе которой строится форма, более 2600 единиц номенклатуры, на которые наложено уже более 100 тысяч ограничивающих связей - попробуйте выбирать разные комплектации, и вы будете получать разный состав доступных комплектующих в других полях, то есть вы не можете выбрать то, что несовместимо (например уличная дверь и цилиндровые замки - зимой они замерзнут и могут не открыться). И всё это происходит "на лету" без перезагрузки страницы, причем для некоторых полей еще и используются формулы для расчёта цены в зависимости от размеров двери. К тому же заполнение базы данных сделано из 1С:Предприятие (пользователи клиента уже привыкли к её интерфейсу и не надо тратить время на обучение работе в новой системе), также в обработке предусмотрено автоматическое обновление цен в базе данных на сайте (пользователь просто соединяется с базой на сайте и нажимает 1 кнопку, и всё, цены в базе данных на сайте уже актуализированы). Разработка достаточно сложная (я аналогов с такой функциональностью в сети пока не встречал), но интересная.

Цены на подобные разработки строго договорные. Не получив достаточно подробного техзадания оценить трудозатраты на подобные разработки достаточно сложно.

Компоненты и модули для CMS Joomla!, Joostina, S.Builder и 1С-Битрикс - это по сути своей тоже PHP скрипты, поэтому к ним относится всё вышесказанное.

Если вам хочется иметь на своём сайте эксклюзивные разработки, то свяжитесь со мной, и мы договоримся!

Баннер