• Stars
    star
    6,369
  • Rank 5,971 (Top 0.2 %)
  • Language
    Swift
  • License
    Apache License 2.0
  • Created almost 5 years ago
  • Updated 4 months ago

Reviews

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

Repository Details

SwiftUI & Combine app using MovieDB API. With a custom Flux (Redux) implementation.

Xcode build

MovieSwiftUI

MovieSwiftUI is an application that uses the MovieDB API and is built with SwiftUI. It demos some SwiftUI (& Combine) concepts. The goal is to make a real world application using SwiftUI only. It'll be updated with new features as they come to the SwiftUI framework.

I have written a series of articles that document the design and architecture of the app: Making a Real World Application With SwiftUI.

App Image

Architecture

MovieSwiftUI data flow is a subset and a custom implementation of the Flux part of Redux. It implement the State in an ObservableObject as a @Published wrapped property, so changes are published whenever a dispatched action produces a new state after being reduced. The state is injected as an environment object in the root view of the application, and is easily accessible anywhere in the application. SwiftUI does all aspects of diffing on the render pass when your state changes. No need to be clever when extracting props from your State, they're simple dynamic vars at the view level. No matter your objects' graph size, SwiftUI speed depends on the complexity of your views hierarchy, not the complexity of your object graph.

SwiftUI

MovieSwiftUI is in pure Swift UI, the goal is to see how far SwiftUI can go in its current implementation without using anything from UIKit (basically no UIView/UIViewController representable).

It'll evolve with SwiftUI, every time Apple edits existing or adds new features to the framework.

Platforms

Currently MovieSwiftUI runs on iPhone, iPad, and macOS.

Follow me on Twitter to get the latest update about features, code and SwiftUI tips and tricks!

More Repositories

1

IceCubesApp

A SwiftUI Mastodon client
Swift
4,506
star
2

RedditOS

The product name is Curiosity, a SwiftUI Reddit client for macOS Big Sur
Swift
3,915
star
3

SwiftHN

A Hacker News reader in Swift
Swift
1,707
star
4

ACHNBrowserUI

Animal Crossing New Horizon companion app in SwiftUI
Swift
1,654
star
5

SwiftUIFlux

A very naive implementation of Redux using Combine BindableObject to serve as an example
Swift
646
star
6

MortyUI

A very simple Rick & Morty app to demo GraphQL + SwiftUI
Swift
461
star
7

HackerSwifter

A Swift Hacker News library
Swift
170
star
8

DMCustomModalViewController

A UIViewController which take a root view controller and present it modally with a nice animation
Objective-C
114
star
9

DMCustomTransitions

Some custom transitions for iOS 7
Objective-C
94
star
10

MovieSwiftUI2

A complete reinvention
Swift
64
star
11

RunewordsApp

A SwiftUI app to filter & search runewords for Diablo II
Swift
58
star
12

The-Roundtable

An Elden Ring companion app using SwiftUI + GraphQL
Swift
48
star
13

DMFilterView

A UIView Subclass which add itself at the bottom of any view.
Objective-C
39
star
14

OSRSUI

Old School Runescape database browser in SwiftUI
Swift
35
star
15

SwiftUIDemo

SwiftUI + Redux
Swift
35
star
16

Sublime-Hacker-News-Reader

Read Hacker News front page right from Sublime Text.
Python
24
star
17

SwiftUIKit

A package with the missing SwiftUI components
Swift
21
star
18

PopupViewController

UIViewController drop in replacement with much more customisation
Swift
21
star
19

DMSocialContactsList

An objective-c contacts picker example which fetch local and Facebook contacts, merge and sort them. Plus handle selection. Useful to send SMS, Email, Facebook invitation.
Objective-C
19
star
20

Musix

A macOS Apple Music client using MusicKit
Swift
17
star
21

DMRESTRequest-objc

Super simple objective-c REST request wrapper.
Objective-C
14
star
22

PocketSwiftUI

Pocket SwiftUI: Learn and practice SwiftUI on the go
14
star
23

icecubesweb

Experimental SwiftUI app for the web
Swift
12
star
24

LittleOrion

Master of Orion like for your iOS devices, for now it's mostly nothing...
Swift
12
star
25

SwiftTests

Swift
10
star
26

CryptoTickerSwiftUI

A SwiftUI crypto ticker (show latest transactions) on the CoinbasePro/GDAX socket API
Swift
8
star
27

DMGesturedNavigationController

Objective-C
8
star
28

Date-ACNHEvents

Swift
7
star
29

OSRSUIGraphQL

A GraphQL Old School RuneScape + SwiftUI helper app
Swift
6
star
30

GrailerApp

A Diablo 2 app to track your items and much, much more
Swift
6
star
31

FrenchKitSwiftUIClassroom

Swift
5
star
32

dimillian

4
star
33

pico8-suvivor

A vampire survivor clone for pico-8
C
3
star
34

NotesCards

Swift
3
star
35

dimillian.github.io

HTML
3
star
36

iOS-ReactHN

An Hacker News reader built with React Native
3
star
37

GDAXTicker

A GDAX Ticker in Swift
Swift
3
star
38

dimillian.app

dimillian.app website
MDX
2
star
39

PTCGCollector

An app to collect & browse your Pokemon Trading Card collection
2
star
40

TronCycle

A Tron inspired game in Swift.
Swift
2
star
41

vCard

My personal website at http://thomasricouard.info
CSS
2
star
42

Galaxy-Traders

1
star
43

Blog

My new Blog powered by Hugo
Shell
1
star
44

rSDK

Raven SDK
Objective-C
1
star
45

Raven-For-Mac

Raven Browser
Objective-C
1
star
46

PicSpeak

Something cool
1
star
47

iOSReduxBoilerplate

iOS Redux app example
1
star
48

folio

New folio in react
TypeScript
1
star
49

McReddit

Swift
1
star
50

No-Name

Something in Swift to play with.
1
star
51

PopApp

TBD
Swift
1
star
52

blog-articles

Articles of http://blog.thomasricouard.info
1
star
53

objective-c-stuff

Various stuff
Objective-C
1
star