Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom_основ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.2 Mб
Скачать
    1. Бриф для разработки мобильного приложения

Таблица 1

БРИФ

Название компании:

Магазин "Matrix" (Компьютеры и Оргтехника)

Название сайта:

Matrix

URL для размещения приложения:

http://shop-et1.ru/

продолжение таблицы 1

Задачи разработчика:

  1. Разработка фирменного стиля.

  2. Разработка дизайна.

Цель создания приложения:

В рамках дипломной работы

Языковые версии приложения:

Русский

Платформа для работы приложения

WordPress

Материалы, предоставленные заказчиком:

Официальный сайт Эльдорадо

Структура приложения:

  1. Категории

  2. Корзина

  3. Новости

  4. Особенности

  5. Товар

  6. Фирма

Компоненты приложения (новости, анкетирование, интернет-магазин, баннерная реклама, счетчики посещений, др.):

  1. Новости

  2. Необходимая информация для посетителей

Цветовая гамма приложения:

Зеленый, белый

Передача разработки:

В формате. Apk.

    1. Обоснование выбора языка программирования

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

WordPress — система управления содержимым сайта с открытым исходным кодом; написана на PHP; сервер базы данных — MySQL; выпущена под лицензией GNU GPL версии 2. Сфера применения — от блогов до достаточно сложных новостных ресурсов и интернет-магазинов. Встроенная система «тем» и «плагинов» вместе с удачной архитектурой позволяет конструировать проекты широкой функциональной сложности.

Перечень основных преимуществ Вордпресс:

- Движок и шаблоны к нему можно скачать бесплатно;

- Выбор шаблонов Вордпресс достаточно большой;

- Быстрая установка;

- Понятная и простая панель управления (админка);

- Большой выбор доступных дополнений и расширений (плагины);

- Возможность вносить изменения в код шаблона.

WordPress помогает не наполнять каждый сайт с нуля множеством скриптов и новыми стилями разметки – можно использовать уже существующие варианты как точку отсчета для собственной разработки. Нужно повториться: сайт на WordPress — это не только функционал для упрощенной разработки сайта – это целая система программ, которая работает на сайте постоянно, поддерживая его жизнедеятельность — от начала до конца. Такая система и называется CMS (от английского Content Management System), то есть система управления содержимым сайта.

Первая версия WordPress была создана в 2003 году. Ее, как ответвление совершенно другого проекта, написал Мэтт Малленвег, программист из Хьюстона из штата Техас. Сначала Вордпресс ориентировался на создание персональных блогов — человечек кропает себе в свой дневничок все, что хочет, читатели пишут ему в ответ комментарии, причем не только к самой записи, но и к комментариям других пользователей.

Но дальнейшее развитие системы позволило увеличивать постепенно ее функционал (не забывайте, WordPress – система бесплатная) за счет участия в ее разработке всех желающих, и на данный момент на Вордпресс можно сконструировать практически любой сайт – и блог, и каталог, и интернет-магазин. Последняя версия этой CMS на момент написания этой статьи – 3.5.1. А бесплатность системы заключается в том, что для создания сайта вам нужно будет потратиться только на доменное имя и на покупку места для сайта (хостинг). Все остальное – плагины, темы, скрипты и другое программное обеспечение можно совершенно бесплатно скачать с официального сайта WordPress в России — ru.wordpress.org.

Возможности CMS WordPress:

Вордпресс – система полностью бесплатная, распространяется свободно, пишется на РНР, использует MySQL и CSS. Каскадные таблицы стилей позволяют в мгновение ока менять внешний вид сайта, и не нужно это делать отдельно для каждой страницы – все изменения касаются всего сайта целиком. Десятки тысяч тем оформления помогут вам определиться с дизайном сайта, причем установка тем – наипростейшая, как, впрочем, и плагинов – достаточно просто закачать на сервер новую тему – а уж WordPress сам ее распакует, установит и запустит, не забыв предварительно показать вам, как будет выглядеть ваш сайт. Готовые скрипты и набор виджетов значительно расширят возможности вашего сайта, и грех этим не воспользоваться. Админ панель устроена на интуитивно понятном уровне. Так, например, чтобы установить новый виджет, достаточно их уже готового набора виджетов просто мышкой перетащить нужный вам на то место, где вы хотите его видеть.

Дополнительные возможности WordPress:

Все вышеперечисленное можно отнести к главным преимуществам CMS WordPress. Но этот список можно дополнить огромнейшей библиотекой качественных платных шаблонов, которые имеют более продвинутый функционал и гибкие настройки. Конструктор поддерживает виджеты и всевозможные социальные плагины, которые улучшают читаемость и посещаемость блога. Многие темы имеют встроенную поддержку SEO, да и сам WordPress оснащен такой системой. Это новшество отлично помогает повысить рейтинг вашего сайта в ПС Google, Yandex, и других поисковиках. Также конструктор надежно защищен от взлома и от спама. Конечно, все это только слова, поэтому вы сами должны поработать с WordPress, чтобы по достоинству оценить все его необъятные возможности.

Реализована поддержка взаимодействия с соцсетями и новостной RSS-лентой. Такое прогрессивное решение дает возможность более плотно взаимодействовать с подписчиками и читателями сайта, а удобное комментирование – это быстрая реакция на ваши публикации. Причем каждый комментатор получает уведомление, если на его комментарий кто-то ответил. То есть – все практически происходит в режиме реального времени, а это очень важно для развития блога или сайта. К WordPress можно легко подключить систему комментирования от Facebook, Вконтакте или Disqus, которые имеют свои преимущества.

Возможности языка.

PHP (Hypertext Preprocessor - Препроцессор Гипертекста)– это широко используемый язык сценариев общего назначения с открытым исходным кодом.

PHP - язык программирования, специально разработанный для написания web-приложений (скриптов, сценариев), исполняющихся на Web-сервере. Синтаксис языка во многом основывается на синтаксисе C, Java и Perl. Он очень похож на С и на Perl, поэтому для профессионального программиста не составит труда его изучить. С другой стороны, язык PHP проще, чем C, и его может освоить веб-мастер, не знающий пока других языков программирования.

Огромным плюсом PHP, в отличие от, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. PHP не зависит от скорости компьютера пользователя или его браузера, он полностью работает на сервере. Пользователь даже может не знать, получает ли он обычный HTML-файл или результат выполнения скрипта.

Сценарии на языке PHP могут исполняться на сервере в виде отдельных файлов, а могут интегрироваться в html страницы.

PHP способен генерировать и преобразовывать не только HTML документы, но и изображения разных форматов - JPEG, GIF, PNG, файлы PDF и FLASH. PHP способен формировать данные в любом текстовом формате, включая XHTML и XML.

PHP - кроссплатформенная технология. Дистрибутив PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, Microsoft Windows, Mac OS и многих других. PHP поддерживается на большинстве вебсерверов, таких, как Apache, Microsoft Internet Information Server (IIS), Microsoft Personal Web Server и других.

Для большинства серверов PHP поставляется в 2-х вариантах - в качестве модуля и в качестве CGI препроцессора.

PHP поддерживает работу с ODBC и большое количество баз данных: MySQL, MSQL, Oracle, PostgreSQL, SQLite и др.

Язык программирования PHP, особенно в связке с популярнейшей базой данных MySQL - оптимальный вариант для создания интернет-сайтов различной сложности.

Язык PHP постоянно совершенствуется, и ему наверняка обеспечено долгое доминирование в области языков web -программирования.

Сравнение PHP и Java.

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

Такой подход логичен для выбора собственного. А вот с точки зрения работодателя, качества самого программиста значительно важнее.

PHP (Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных веб-страниц») — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов

Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине вне зависимости от компьютерной архитектуры. Дата официального выпуска — 23 мая 1995 года..

Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL. Потратив неделю на изучение PHP, можно научиться базовым приемам ввода-вывода, примитивной выборке из БД и парочке других алгоритмов обработки информации. С усложнением задач появляется соблазн изобретать "велосипеды" и "костыли" на основе старых знаний, делая код нечитабельным, уничтожая возможность дальнейшей поддержки на корню.

Работа с таким "кодером" в команде, или еще хуже, поддержка проекта, написанного им, превращается в будни школьного учителя. Естественно, это утверждение относится не ко всем, но такая проблема существует.

Что касается Java, порог вхождения очень высокий. Вместо "Установка LAMP под Ubuntu" и "Скачать самоучитель PHP", необходимо вникнуть в сервлеты, взаимодействие между ними, jsp, научиться работе с каким-нибудь фреймворком. Плюс ООП, который в Java обязателен

Подобный подход к оценке языка не панацея. Достаточно много серьезных проектов, написанных на PHP. Более того, на данный момент в сфере WEB-разработок он доминирует.

Синтаксис и код.

Одна из обсуждаемых проблем Java - длиннейшие названия классов и стандартных методов. Чего только стоит "System.out.println()" оного вместо "echo" на PHP. Конечно, это легко решается "import-ом" в начале документа или выбором современной IDE, в которой достаточно написать первую букву метода или поля, как появится возможность выбора нужного из списка. Тем не менее, отрицать впечатляющий объем кода на Java - предвзято.

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

Здесь принудительное ООП Java и Javadoc для документации дают ощутимый прирост в копилке аргументов "За Java".

В PHP эти возможности так же есть. Сравнительно недавно я узнал о аналогах Javadoc в PHP- phpdoc/PhpDocumentor.

С известных версий PHP поддерживает объектный подход(ООП). Правда он смешанный, и соблазн написать простую функцию без обертки очень большой.

Классы и функции

Java не является процедурным языком: любая функция может существовать только внутри класса. Это подчёркивает терминология языка Java, где нет понятий «функция» или «функция-член» (англ. member function), а только метод. В методы превратились и стандартные функции. Например, в Java нет функции sin(), а есть метод Math.sin() класса Math (содержащего, кроме sin(), методы cos(), exp(), sqrt(), abs() и многие другие). Конструкторы в Java не считаются методами. Деструкторов в Java не существует, а метод finalize() ни в коем случае нельзя считать аналогом деструктора.

Класс в PHP объявляется с помощью ключевого слова class. Методы и поля класса могут быть общедоступными (public, по умолчанию), защищёнными (protected) и скрытыми (private). PHP поддерживает все три основных механизма ООП — инкапсуляцию, полиморфизм подтипов и наследование (родительский класс указывается с помощью ключевого слова extends после имени класса). Поддерживаются интерфейсы (ставятся в соответствие с помощью implements). Разрешается объявление финальных, абстрактных методов и классов. Множественное наследование классов не поддерживается, однако класс может реализовывать несколько интерфейсов. Для обращения к методам родительского класса используется ключевое слово parent.

Начиная с версии 5.4.0 множественное наследование может быть реализовано с помощью механизма особенностей (англ. trait). Особенности похожи на примеси (англ. mixins), за исключением того что для них нельзя напрямую создать экземпляр. Повторное использование кода заключено в использовании кода особенности в нескольких классах. Допускается использовать в одном классе несколько особенностей. Механизм особенностей имеет средства разрешения конфликтов имён. При запуске программы код особенности будет «вкомпилирован» в код содержащего его класса.

Классы в PHP имеют ряд «магических» методов (англ. magic methods), начинающихся с двух символов подчёркивания. Особо стоит отметить конструктор (__construct(), в версиях до 5.0 конструктором служил метод, одноимённый с классом) и деструктор (__destruct()), а также методы чтения (__get()) и записи (__set()), свёртывания (__sleep()) и развёртывания (__wakeup()), клонирования (__clone()) и др. Эти методы являются достаточно гибким инструментом: переопределяя их, можно добиться существенного изменения поведения объекта.

Все функции-члены реализованы виртуальными и потому все они являются методами.

Экземпляры класса создаются с помощью ключевого слова new, обращение к полям и методам объекта производится с использованием оператора ->. Для доступа к членам класса из его методов используется переменная $this.

Техническая площадка.

С кодом мы разобрались. А вот что касается хостинга, Java в проигрыше. PHP-хостинг распространен и он дешевле.

Правда под вопросом, стоит ли экономить на хостинге, если проект серьезный? Тем не менее, то, что заменить техническую основу проекта на PHP проще - факт.

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

Единая платформа, без связки разных языков - очевидный плюс.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]