- •Учебно-исследовательская работа
- •Оглавление
- •1.Введение Зачем нужны мобильные приложения и кто их делает
- •2.Основная часть
- •2.1 Описание проекта ненативного приложения для PhoneGap и Exlipse
- •2.2.1 Html5 и его отличия от ранних версий
- •2.2.2 Css3 и её отличия от более ранних версий
- •2.2.3 Краткий обзор языка js и библиотеки jQuery
- •2.2.4 Фреймворки и их отличия
- •2.2.5 Фреймворк jQueryMobile
- •2.3 Написание ненативного приложения
- •2.3.1 Определение минимального функционала
- •2.3.2 Первый прототип интерфейса
- •2.3.3 Отрисовка экранов и настройка интерактивности
- •2.3.4 Написание кода
- •2.3.4.1 Html5
- •2.3.5 Отладка приложения
- •2.3.6 Сборка приложения под мобильные устройства
- •2.4 Размещение приложения на специализированных сервисах
- •3.Заключение
- •4.Список литературы
2.2.4 Фреймворки и их отличия
Фреймворк — структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. Употребляется также слово «каркас», а некоторые авторы используют его в качестве основного, в том числе не базируясь вообще на англоязычном аналоге. Можно также говорить о каркасном подходе как о подходе к построению программ, где любая конфигурация программы строится из двух частей: первая, постоянная часть — каркас, не меняющийся от конфигурации к конфигурации и несущий в себе гнезда, в которых размещается вторая, переменная часть — сменные модули (или точки расширения).
Фреймворк отличается от понятия библиотеки тем, что библиотека может быть использована в программном продукте просто как набор подпрограмм близкой функциональности, не влияя на архитектуру программного продукта и не накладывая на неё никаких ограничений. В то время как каркас диктует правила построения архитектуры приложения, задавая на начальном этапе разработки поведение по умолчанию, каркас, который нужно будет расширять и изменять согласно указанным требованиям. Пример программного фреймворка — CMF (Content Management Framework), а пример библиотеки — модуль электронной почты.
Также, в отличие от библиотеки, которая объединяет в себе набор близкой функциональности, каркас может содержать в себе большое число разных по тематике библиотек.
Фреймворк программной системы
Это каркас программной системы (или подсистемы). Может включать вспомогательные программы, библиотеки кода, язык сценариев и другое ПО, облегчающее разработку и объединение разных компонентов большого программного проекта. Обычно объединение происходит за счёт использования единого API.
Фреймворк приложения
Одним из главных преимуществ при использовании каркасных приложений является то, что такие приложения имеют стандартную структуру. Каркасы приложения стали популярны с появлением графических интерфейсов пользователя, которые имели тенденцию к реализации стандартной структуры для приложений. С их использованием стало гораздо проще создавать средства для автоматического создания графических интерфейсов, так как структура внутренней реализации кода приложения стала известна заранее. Для обеспечения каркаса обычно используются техники объектно-ориентированного программирования (например, части приложения могут наследоваться от базовых классов фреймворка).
Фреймворк концептуальной модели
Абстрактное понятие структуры, которое используется в исследованиях для определения возможных способов решения проблемы или представления идеи.
Реализация фреймворка
Фреймворк определяется как множество конкретных и абстрактных классов, а также определений способов их взаимоотношения. Конкретные классы обычно реализуют взаимные отношения между классами. Абстрактные классы представляют собой точки расширения, в которых каркасы могут быть использованы или адаптированы.
Точка расширения — это та часть фреймворка, для которой не приведена реализация. Соответственно каркас концептуальной модели состоит из концептуальных классов, а каркас программной системы из классов языка программирования общего назначения.
Процесс создания фреймворка заключается в выборе подмножества задач проблемы и их реализаций. В ходе реализаций общие средства решения задач заключаются в конкретных классах, а изменяемые средства выносятся в точки расширения.
