All Projects → MKGitHub → UIPheonix

MKGitHub / UIPheonix

Licence: Apache-2.0 license
Inspired by game development UIPheonix is a super easy, flexible, dynamic and highly scalable UI framework + concept for building reusable component/control-driven apps for macOS, iOS and tvOS. The same API apply for cross platform development! Think of it as using Lego blocks, you can use similar ones and move them around easy as pie.

Programming Languages

swift
15916 projects
shell
77523 projects

Projects that are alternatives of or similar to UIPheonix

Avalondock
Our own development branch of the well known WPF document docking library
Stars: ✭ 518 (+1686.21%)
Mutual labels:  control, layout
Flexml
🚀基于Litho的Android高性能动态业务容器。
Stars: ✭ 225 (+675.86%)
Mutual labels:  mvc, layout
ci4-album
🔥 CodeIgniter 4 example Album module uses Domain Driven Design Architecture with Tactical Pattern
Stars: ✭ 67 (+131.03%)
Mutual labels:  layout, reusable
Dock
A docking layout system.
Stars: ✭ 204 (+603.45%)
Mutual labels:  control, layout
bootstrap-grid-card
Bootstrap grid in Lovelace UI
Stars: ✭ 25 (-13.79%)
Mutual labels:  layout
XAF Security E4908
This repository contains examples for Role-based Access Control, Permission Management, and OData / Web / REST API Services for Entity Framework and XPO ORM
Stars: ✭ 47 (+62.07%)
Mutual labels:  mvc
potato-webmvc
📝一个简单的Web MVC框架,寂寞消遣之作~
Stars: ✭ 26 (-10.34%)
Mutual labels:  mvc
djburger
Framework for safe and maintainable web-projects.
Stars: ✭ 75 (+158.62%)
Mutual labels:  mvc
typeioc
Dependency injection container for typescript / javascript
Stars: ✭ 32 (+10.34%)
Mutual labels:  control
PersianDataAnnotations
PersianDataAnnotations is ASP.NET Core MVC & ASP.NET MVC Custom Localization DataAnnotations (Localized MVC Errors) for Persian(Farsi) language - فارسی سازی خطاهای اعتبارسنجی توکار ام.وی.سی. و کور.ام.وی.سی. برای نمایش اعتبار سنجی سمت کلاینت
Stars: ✭ 38 (+31.03%)
Mutual labels:  mvc
robotarium-rendezvous-RSSDOA
This repository contains the Matlab source codes (to use in Robotarium platform) of various rendezvous controllers for consensus control in a multi-agent / multi-robot system.
Stars: ✭ 35 (+20.69%)
Mutual labels:  control
gw-starter-kit
PEPELAC - Современный инструментарий для вёрстки и создания статичных сайтов с использованием Webpack
Stars: ✭ 30 (+3.45%)
Mutual labels:  layout
egjs-grid
A component that can arrange items according to the type of grids
Stars: ✭ 188 (+548.28%)
Mutual labels:  layout
griding
🧱 lean grid & responsive for react
Stars: ✭ 18 (-37.93%)
Mutual labels:  layout
Minimal-Blog
Tailwind CSS Starter Template - Minimal Blog
Stars: ✭ 100 (+244.83%)
Mutual labels:  layout
mvvm
简易mvvm模式实现。
Stars: ✭ 37 (+27.59%)
Mutual labels:  mvc
respo.cljs
A virtual DOM library built with ClojureScript, inspired by React and Reagent.
Stars: ✭ 232 (+700%)
Mutual labels:  mvc
UMVC
UMVC - Model-View-Controller Generator built for Unity
Stars: ✭ 36 (+24.14%)
Mutual labels:  mvc
RollingLayoutManager
vrgsoft.net
Stars: ✭ 57 (+96.55%)
Mutual labels:  layout
SAMD TimerInterrupt
This library enables you to use Interrupt from Hardware Timers on an SAMD-based board. These SAMD Hardware Timers, using Interrupt, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's mandatory if you …
Stars: ✭ 28 (-3.45%)
Mutual labels:  control

MadeInSweden Status

Version Carthage SPM CocoaPods

Platform Swift

🌟 Give this repo a star and help its development grow! 🌟

UIPheonix Logo

Inspired by game development UIPheonix is a super easy, flexible, dynamic and highly scalable UI framework + concept for building reusable component/control-driven apps for macOS, iOS and tvOS. The same API apply for cross-platform development! Think of it as using Lego blocks, you can use similar ones and move them around easy as pie.

Does this seem familiar to you?

ConstraintErrors

Well not any more…

  • Forget static layouts, constraint issues and warning explosions in the console.
  • Forget all the glue code, all the boilerplate code and all the very common overly engineered unnecessary pile of garbage code in your apps.
  • Build and make changes to your UI quickly in a snap.
  • Make your UI reusable.
  • Focus on creating your app, not fighting layout issues.
  • Minimal setup, minimal impact on your app, lightweight, no dependencies, no pain but so much gain!
  • Builds on top of collection views & table views, so you can easily mix and match.
  • Does not replace Apple technologies with custom implementations, so you will always be safe and up-to-date, and you can easily revert at any time.
  • Demo apps provided for macOS, iOS and tvOS (Kung Fu!)

OSScreenshots

Demo App

iOSMovie

  • Reusable UI Component/Control (from here on mentioned as a "RUIC") – Is basically just a model+view. You can configure a RUIC in any way you want, in the demo apps I'm using both JSON files and manual code setup for the models.

RUIC Diagram

  • Display Models (list) – An array of [model, model, model…] etc. this is how UIPheonix knows what to display.

States

  • Display State – In the demo apps I'm using a simple "state machine". You may find alternative solutions, and your milage may vary :-)

  • Model-View Relationships (dictionary) – A dictionary defining the relationship between model+view.


Example RUICs

Making a RUIC is pretty simple as making a model+view.

ExampleRUIC1 ExampleRUIC1


What’s New?

  • Version 3.0.1 improves support for Swift 5.x.x.
  • Version 3.0 updates with new API and support for Swift 5.x.x.
  • Version 2.3 updates for Swift 4.2.
  • Version 2.2.1 adds support for Swift 4 and Xcode 9.
  • Version 2.2.0 adds support for Swift 4 and Xcode 9.
  • Version 2 adds support for table view as well as many refactorings to make UIPheonix even easier to use.

Requirements

  • Swift Version 5
  • Xcode 10

How to Install

There is no framework/library distibution, I recommend that you simply add the UIPheonix.swift to your project. As this will allow you to easily find & read the UIPheonix API, and it will also allow UIPheonix to compile using your apps build settings.

  • Using Git: git clone https://github.com/MKGitHub/UIPheonix.git then add UIPheonix.swift to your Xcode project.
  • Manual Way: Add UIPheonix.swift to your Xcode project.
  • Using Carthage: In your Cartfile add github "MKGitHub/UIPheonix" ~> 3 then add UIPheonix.swift to your Xcode project.
  • Using Swift Package Manager: swift-tools-version:4.2
  • CocoaPods support has been removed! 🙌🙏🎉 Never use CocoaPods! 💀

Documentation

Go to the documentation index page.

Used In Apps

UIPheonix is used in production in the following apps/games (that I'm aware of), these apps are together used by millions of users. Please let me know if you use UIPheonix.

  • McDonald's apps
  • Lånekoll
  • LeoVegas apps

Contributing

Please contribute or create your own RUICs!

In the folder "3rd Party RUICs" you may add your own RUICs, if you already have a Cocoa Control (www.cocoacontrols.com) please consider converting it to the simple UIPheonix architecture. A great thing about RUICs in UIPheonix is that they all have the same architecture, so you don't have to implement and follow different implementations for each Cocoa Control in your app = less fragmentation!

As UIPheonix may progress and evolve the "RUIC Implementation Version" will increase, and so in order to know which version of UIPheonix a RUIC is compatible with please add this info to your RUIC.

Notes

https://github.com/MKGitHub/UIPheonix

http://www.xybernic.com

Copyright 2016/2017/2018/2019 Mohsan Khan

Licensed under the Apache License, Version 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].