• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Dimillian/MortyUI: A very simple Rick & Morty app to demo GraphQL + SwiftUI ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

Dimillian/MortyUI

开源软件地址(OpenSource Url):

https://github.com/Dimillian/MortyUI

开源编程语言(OpenSource Language):

Swift 100.0%

开源软件介绍(OpenSource Introduction):

MortyUI

A very simple Rick & Morty app to demo GraphQL + SwiftUI

Characters Character detail Episode

This app have a very simple SwiftUI MVVM architecture.

Each views have its own view model which consist of running a simple GraphQL query to fetch the necassary data. Once the data is set in the @Published property of the view model, the data will be displayed in the view. While it's fetching the data, it'll use the powerful SwiftUI .redacted placeholder modifier to display a beautiful loading state.

All the queries are in Queries.graphql. The file API.swift is generated at the build time using the schema.json of the GraphQL API of this awesome Rick & Morty API website and the Queries.graphql file using the Apollo CLI

For now you can browse characters, episodes and locations (soon). Search is coming soon.

To not slow the build process, this project is coming with a Swift package command line tool to generate the swift code using the new Apollo Swift scripting feature. It can also download the schema from the Rick & Morty API.

It's not executed as part of the build process, if you modify the queries and wish to regenerate the API.swift file you'll need to:

cd Codegen

swift run Codegen codegen

and to download the schema

swift run Codegen download

This is all an excercice for me to play a bit with GraphQL + SwiftUI. Nothing very exciting on the UI side. The exiting part is that it's actually very little code (just the UI code + some GraphQL queries) to have the app working.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap