• Stars
    star
    298
  • Rank 135,048 (Top 3 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 2 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The missing typesafe SwiftUI navigation library

UIPilot

Swift Platforms Swift Package Manager

Why another SwiftUI navigation library?

  • UIPilot is not a replacement of the SwiftUI's NavigationView, it's rather a wrapper around it that you would have likely written. Thus all standard NavigationView features like title, swipe gesture, topbar etc. are available by default.
  • APIs are inspired by the android, flutter and web based routers - Very simple and easy to use.
  • Typesafe navigation - Routing to wrong path will fail at compile time rather than runtime.
  • Typesafe parameters - Routing with wrong parameters will fail at compile time rather than runtime.
  • Very tiny library - it's barely 200 lines of code.

Documentation

Visit the website for documentation and more information.

Examples

Please have a look at the article and the examples to know more about different use cases of UIPilot.

Complex use cases

The library is designed to meet simple use cases as well as complex ones. You can also have nested UIPilot as many as you like!

For example, it's very easy to achieve split screen like behavior.

Please have a look at the article for more information of the implementation.

Installation

Version 1.x - Uses SwiftUI NavigationView underneath.

Version 2.x - Uses UIKit UINavigationController underneath (recommended).

Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler.

Once you have your Swift package set up, adding UIPilot as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/canopas/UIPilot.git", .upToNextMajor(from: "2.0.2"))
]

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate UIPilot into your Xcode project using CocoaPods, specify it in your Podfile:

target 'YourAppName' do
    pod 'UIPilot', '~> 2.0.2'
end

Bugs and Feedback

For bugs, questions and discussions please use the Github Issues.

Credits

UIPilot is owned and maintained by the Canopas team. You can follow them on Twitter at @canopassoftware for project updates and releases.

Licence

UIPilot is released under the MIT license. See LICENSE for details.

More Repositories

1

compose-intro-showcase

Highlight different features of the app using Jetpack Compose
Kotlin
416
star
2

compose-animations-examples

Cool animations implemented with Jetpack compose
Kotlin
341
star
3

compose-recyclerview

Seamlessly integrate Jetpack Compose composables in RecyclerView with ComposeRecyclerView🔥. This library enhances performance⚡, tackles LazyList issues🔨, and offers built-in drag-and-drop👨🏽‍💻 support for dynamic UIs.
Kotlin
135
star
4

tailwind-animations-examples

Cool animations implemented with tailwindcss
Vue
113
star
5

web-developer-roadmap

Web Developer Roadmap is a path to understand web development including frontend, backend and cloud.
103
star
6

compose-animated-navigationbar

Cool animated navigation bars for your compose android app.
Kotlin
100
star
7

iOS-developer-roadmap

iOS Developer Roadmap 2022 is a learning path to understand iOS development.
87
star
8

android-developer-roadmap-2023

The Android Developer Roadmap 2023 includes 29 practical exercises that cover all the essential concepts used in day-to-day development.
64
star
9

swiftui-animations-examples

Cool animations implemented with SwiftUI
Swift
62
star
10

rich-editor-compose

Android WYSIWYG Rich editor for Jetpack compose.
Kotlin
61
star
11

compose-country-picker

Country code bottomsheet picker in Jetpack Compose
Kotlin
56
star
12

animated_reorderable_list

A Flutter Reorderable Animated List with simple implementation and smooth transition.
Dart
52
star
13

rich-editor-swiftui

RichEditorSwiftUI is swift based library, it is made to make rich text editing easy with SwiftUI.
Swift
50
star
14

canopas-blog-admin

Feature-Rich blogs admin panel built with strapi CMS
JavaScript
37
star
15

vue-file-upload

A file management system built with Vue.js and TypeScript that allows for single and multiple file uploading with a preview feature
Vue
30
star
16

iOS-developer-roadmap-2023

The iOS Developer Roadmap 2023 includes 29 practical exercises that cover all the essential concepts used in day-to-day development.
29
star
17

gorm-gin-with-mysql

Golang : Use gorm with mysql in gin
Go
28
star
18

nuxt-blog-kit

Nuxt Blog Kit is Component library built with Nuxt3 and Tailwind.
Vue
28
star
19

canopas-website

Responsive website built with Vue.js and vite by following best practices.
Vue
27
star
20

web-developer-roadmap-2023

Web Developer Roadmap 2023 is a path to understand web development including frontend, backend and cloud.
24
star
21

strapi-plugin-tagsinput

Tagsinput plugin for strapi
JavaScript
23
star
22

animated-visibility

Animate appearance and disappearance using pre-built effects with the AnimatedVisibility widget.
Dart
23
star
23

flutter-country-picker

A Simple, Customizable Flutter Country picker for picking a Country or Dialing code with Search functionality.
Dart
19
star
24

web-file-upload

A file management system built for vue and react that allows for single and multiple file uploading with a preview feature.
TypeScript
19
star
25

canopas_unity

Unity - A multiplatform leave management app built in Flutter framework using Firestore database and storage
Dart
17
star
26

flutter-developer-roadmap-2023

16
star
27

fullstack-graphql-react-starter-kit

A boilerplate project for building web applications using the Apollo GraphQL, Typescript, Express.js, Vite and React.js
TypeScript
13
star
28

Android-developer-roadmap

Android developer roadmap 2022 is a path to start your journey with android development.
11
star
29

MarqueeScroll

Marquee scroll with infinite scrolling and auto direction detect(Demo)
Swift
9
star
30

serverless-php-example

AWS lambda function with Laravel and Codeigniter -- serverless example
PHP
6
star
31

web-devops-roadmap

A comprehensive guide for web developers to master DevOps practices in their workflow.
5
star
32

your-space

An open-source Android app employing MVVM architecture and Jetpack Compose. Enhance family safety with real-time location sharing.
Kotlin
5
star
33

GinMiddleware

Middleware implemented in golang using gin framework
Go
4
star
34

react-file-upload

A file management system built with React, Next,js and TypeScript that allows for single and multiple file uploading with a preview feature
TypeScript
4
star
35

cloud-gallery

Enjoy all your media in one spot! Easily view and manage photos, videos from Google Drive, Dropbox, and your device, all in a simple, user-friendly interface.
Dart
4
star
36

go-reusable-functions

Reusable functions in golang.
Go
3
star
37

go-rss-feeds

RSS feeds example in golang
Go
3
star
38

Ytech-mvvm-jetpack-compose

Kotlin
3
star
39

apple-sdk-go

Apple client services build with go
Go
3
star
40

android-devOps-roadmap

3
star
41

flutter-developer-roadmap

Roff
3
star
42

bite-space

A food web app for food lovers which is built in nextjs to discover popular foods and restaurants/cafes near you or where you want.
TypeScript
3
star
43

electron-twitter-login-example

Electron-vue Twitter login example app
JavaScript
2
star
44

yTech-screenshot-testing-compose

Kotlin
1
star
45

TGProgress

Swift
1
star
46

docker-php-fpm

Dockerfile
1
star
47

json-to-struct-converter

Go
1
star