1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhuchaowe-EasyIOS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

EasyIOS-Swift версия выпущена!

Приглашаем ставить звёзды и форкаться.

Pod Version Pod Version License

EasyIOS — это новое поколение фреймворков для разработки, основанных на Model-View-ViewModel, которые делают разработку приложений быстрее и проще. Постройте своё приложение по-гиковски.

EasyIOS стремится повысить эффективность разработки.

  • Разделение кода — Model-View-ViewModel — отделяет большую часть логической логики от ViewController, решая проблему, когда ViewController берёт на себя слишком много ролей и качество кода снижается. Усиливает привязку между представлением и моделью.
  • Автоматическое сохранение — Model to Db — я больше не хочу думать о том, как реализовать сохранение данных. В моём представлении я просто бросаю объект модели в корзину, и он автоматически сохраняет, кэширует, объединяет и делает данные уникальными. Мне следует сосредоточиться на описании свойств и связей между объектами и на том, как я хочу их группировать. Другие детали реализации должны быть невидимыми.
  • Автоматический RESTful API — Json to Model — как только я даю команду программе, она сопоставляет ответ API с объектом данных, а сетевые и JSON-преобразования должны выполняться автоматически. Я просто хочу сосредоточиться на том, как представить эти элементы пользователю.
  • Эффективные триггеры и реакции — ReactiveCocoa — я хочу использовать синтаксис, основанный на намерениях, для описания реакций на события и триггеров. Меня не волнует, как они связаны, и эти связи не должны нарушаться при рефакторинге.
  • Простые сетевые запросы — Action и Request — для простых запросов GET и POST можно выполнять операции с объектами. Я просто говорю программе, где находится ссылка, какие параметры есть, и она автоматически извлекает нужные мне данные, попутно обновляя кэш, что тоже хорошо.
  • Удобное расположение UI — FLKAutolayout — более удобное расположение с помощью autolayout. Независимо от того, используете ли вы пружины и стойки или AutoLayout, каждый метод требует от вас чёткого понимания того, как должны располагаться представления. Вам нужно потратить много времени на написание и исправление этих расположений, особенно сейчас, когда существует так много устройств, требующих адаптации. Нет ничего готового, расположение пользовательского интерфейса зависит от постоянного уточнения деталей. Рекомендуется использовать инструмент отладки FLEX во время разработки (https://github.com/Flipboard/FLEX), pod 'FLEX', '~> 1.1.1', который необходимо интегрировать вручную, а при выпуске релиза удалить.
  • Дружелюбный контроль над потоками — GCDObjC —
  • Удобные регулярные выражения —
  • Богатый текст в Label —
  • и так далее...

MVVM (Model-View-ViewModel)

Совершенно новая архитектура программирования на основе MVVM (Model-View-ViewModel), открывающая новую главу в разработке функций EasyIOS.

EasyIOS 2.0 похож на AngularJs, но наиболее важными являются: MVVM, ORM, модульность, автоматизация двусторонней привязки данных и т. д.

Если вам нравится Swift, то у нас также есть демонстрация RACSwift для EasyIOS (https://github.com/zhuchaowe/RACSwift), которую вы можете изучить.

Что касается вопросов о том, что такое MVVM и почему разработка IOS требует программирования с использованием идей MVVM, пожалуйста, обратитесь к статье «Использование Model-View-ViewModel для создания приложения iOS» (http://easyios.08dream.com/index.php?s=/Home/Article/detail/id/10036.html) для подробного введения.

EasyIOS 2.0 построен на основе идеи программирования MVVM и инкапсулирует Scene, SceneModel, Model и Action в четыре модели для разработки IOS, чтобы решить проблему, связанную с тем, что ViewController выполняет слишком много ролей, что приводит к снижению качества кода и делает структуру более понятной.

  1. Scene — это подкласс ViewController, отвечающий только за логику отображения интерфейса.
  2. Model — модель данных, родительский класс реализует ORM и может выполнять однократное преобразование между json, object и sqlite.
  3. SceneModel — представление-модель данных, в основном отвечает за привязку представления и модели, среди которых работа по связыванию передана ReactiveCocoa.
  4. SceneModel содержит член Action, класс Action в основном отвечает за запрос сетевых данных, обновление данных и анализ данных.

Если вы видели список трендов Objective-C на Github, вы, должно быть, видели ReactiveCocoa. Если вы следите за Weibo за такими разработчиками, как Тан Цяо и Ван Цзянь, вы также должны были слышать о ReactiveCocoa. ReactiveCocoa, сокращённо RAC, представляет собой практику Objective-C, основанную на реактивном программировании, это открытый исходный код на Github (https://github.com/ReactiveCocoa/ReactiveCocoa), который вы можете найти здесь.

Вторичная инкапсуляция AFNetworking интегрирована в Action для добавления функции сетевого кэширования и упрощения управления включением кэширования.

Используя ReactiveCocoa framework, реализуется реактивное программирование, что снижает сложность кода.

Класс Model интегрирует классы библиотек JsonModel и MojoDataBase.

Интегрировано множество открытых исходных кодов.

Часто используемые библиотеки классов:

Action отвечает за сетевые данные запроса.

Model отвечает за хранение данных.

SceneModel отвечает за связь Scene и Model, вызывая action для выполнения запроса данных.

Scene — это представление, эквивалентное UIViewController, которое предоставляет быстрый способ интеграции сетевых запросов и методов обновления по запросу.

SceneTableView — это TableView, который вместе с Scene предоставляет методы интеграции обновления по запросу и загрузки по запросу.

SceneCollectionView — это CollectionView, который вместе с Scene предоставляет методы интеграции обновления по запросу и загрузки по запросу.

Как установить

  • Импортируйте из CocoaPods.

  • Добавьте следующее в Podfile и запустите pod install.

    platform :ios, "6.0" pod 'EasyIOS', '> 2.2.2' pod 'EasyIOS-Extention', '> 1.2'

  • Если вы используете swift, перейдите по ссылке (https://github.com/zhuchaowe/RACSwift).

Версия 2.2.2 обновлена

  • Указан RAC как максимальная версия 2.4.4

  • В класс Action добавлен функционал кэширования.

  • Класс Request дополнен функцией установки HTTP-заголовков.

Обновление версии 2.2

  • Изменён способ конфигурации в классе Action: вместо вызова макроса используется метод класса.
  • Оптимизация для IOS8.
  • Добавлен эффект увеличения при прокрутке вниз для UIScrollView.
  • Новый класс EZNavigationController решает проблему с быстрым push, который может привести к сбою в ios7.
  • Переписан механизм обновления при прокрутке вниз и загрузки при прокрутке вверх, что обеспечивает полную развязку и поддержку пользовательского интерфейса.
  • Новые ячейки AutoLayoutCell адаптируются по высоте, а также реализована адаптация contentSize для UISCrollView на основе AutoLayout.
  • Интеллектуальная клавиатура предотвращает перекрытие поля ввода.
  • Мощный XAspect идеально реализует развязку кода и снова облегчает работу UIViewController.
  • Поддержка UIAlertController в IOS8, UIActionSheet и UIAlertView в IOS7.
  • Метод Download добавлен в класс Action.
  • EasyIOS-Extention отделяет необязательные сторонние библиотеки.
  • Убраны RTLabel и EzUILabel.
  • Исправлены некоторые ошибки.
  • ...

##Обновление версии 2.1

  • Благодарим всех партнёров за поддержку и постоянные предложения по улучшению EasyIOS. Это обновление в основном направлено на оптимизацию сетевого доступа в классе Action.
  • Версия 2.1 удаляет MKNetWorkKit и повторно упаковывает AFNetworking на основе существующих API, добавляя контроль кэша.
  • Пользователи, которые используют Action для инициирования запросов, могут ощутить безболезненное обновление.
  • UIImageView+MKNetWorkKit заменён на SDWebImage, решая проблему мерцания изображений.
  • Некоторые ошибки циклических ссылок были исправлены.

##Обновление версии 2.0.3

  • Экстренное исправление ошибки, когда данные модели инициализировались как nil в версии 2.0.2.
  • Удалён EUIGestureRecognizer.
  • Добавлена SHGestureRecognizerBlocks.

##Обновление версии 2.0.2

  • Добавлены GCDObjC для упрощения использования GCD и отказа от сложных вызовов CocoaTouch.
  • Добавлены регулярные выражения RegExCategories для лёгкого создания регулярных выражений.
  • Добавлена обработка кэша TMCache для удобного управления данными вручную (автоматический кэш MK не использует TMCache).
  • Обновлена модель: MojoDatabase+JsonModel для автоматического обнаружения и создания таблиц данных, добавлены новые методы запроса, включая order by, group by и limit.
  • Новое руководство в Wiki Paper.

##Обновление версии 2.0.1

  • Изменение зависимостей pod.
  • FontIcon отделён от проекта и поддерживается отдельно.
  • Модель обновлена: Jastor удалён, добавлен JsonModel [MojoDatabase+JsonModel] (отдельный проект).
  • Генератор кода для ленивых программистов ModelCoder добавлен.
  • Часть ненужных библиотек удалена, код интегрирован.
  • Основываясь на принципе облегчения программирования, добавлены Easykit и FLKAutoLayout.

##Обновление версии 2.0

  • Архитектура изменена на MVVM.
  • SceneModel отделён от Scene и добавлен в реактивный фреймворк ReactiveCocoa.
  • Руководство по использованию ReactiveCocoa на китайском языке доступно на ReactiveCocoa2实战.
  • На GitHub есть открытый проект ReactiveCocoa2 для ReactiveCocoa.

##Обновление версии 1.0.3

  • Больше не нужно беспокоиться о странном макете текста и изображений.
  • Добавлено поддержка шрифтов и ресурсов для демонстрации использования swift и easyios для шрифтов.
  • Расширяемая библиотека шрифтов, где добавление файлов ttf и json позволяет легко расширять специальные шрифты.
  • Поддерживает 4 вида шрифтов: FontAwesome, Zocial-Regular, Ionicons и Foundation.
  • Библиотека шрифтов FontAwesome содержит 439 значков.
  • Библиотека иконок Foundation содержит 283 иконки.
  • Библиотека иконок Zocial содержит 99 иконок.
  • Библиотека иконок ionicons 1.5.2 содержит 601 иконку, большинство из которых в стиле IOS7.

image

##Обновление версии 1.0.2

  • Исправлено несколько проблем со ссылками на файлы заголовков, добавлена поддержка swift.
  • Для пользователей swift необходимо установить Objective-C Bridging Header как ${PODS_ROOT}/Headers/EasyIOS/swift-bridge.h.
  • Версия 1.0.2 выпущена в CocoaPods.

##Обновление версии 1.0.1

  • ORM поддерживается, обеспечивая однократное преобразование между json, object и sqlite.
  • Model классы объединяют библиотеки классов Jastor и MojoDataBase.
  • Параметры POST в Action классе были обновлены, добавив параметр files.
  • Механизм уведомлений, вдохновлённый beeframework, был добавлен без шума.
  • Ошибка обновления при прокрутке была исправлена.
  • Предоставлен интерфейс для открытия карт Baidu, Apple, Google и Gaode одним щелчком мыши, устраняя необходимость в документации по картам.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой способ программировать на Objective-C. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zhuchaowe-EasyIOS.git
git@api.gitlife.ru:oschina-mirror/zhuchaowe-EasyIOS.git
oschina-mirror
zhuchaowe-EasyIOS
zhuchaowe-EasyIOS
master