Inject inspirational into the project
SQMagnet
Don't have to ask for resources everywhere, just need open your mouth.
Get Started
- This project is base on the magnet practice, So you need to clone magnet.
- Then, run the following command to launch server.
$ . run.sh
Contents
- Adapt to iOS13 dark mode.
- Use part of SQExtension in this project.
- Pre-parsed WEBP format image.
- Don't have to ask for resources everywhere, just need open your mouth.
- Search resources from the whole universe for you.
- Massive film resources, one touch.
- A must-have chase artifact to give you the ultimate experience.
Display
Article
iOS 如何「无中生有」资源搜索神器 / 2019 / 07
Sponsor
- Sponsor me a cup of coffee, let me have more energy to create!
SQFitnessProgram
The capacity-training plan seen on youtube, with a app written in code.
Get Started
- pod install and run.
Contents
- SqliteComponent: ORM Database framework developed by Castie!.
- Viper architecture: Architecture comparison with MVX.
- Capacity training for different muscles.
- Record capacity training for each training day.
- Use the capacity training schedule for scientific muscle growth.
- Track the training capacity of each training session to achieve better results.
- The training capacity of each cycle should increase by 3% ~ 5%.
- Make your training in the gym more planned and efficient.
Display
Article
SQPerformance
Focus on performance optimization topics, Include fluency-ui technology
Get Started
-
First, you need a node server environment
-
Then, run the following command to launch server
$ node server.js
Contents
- Pre-layout: when the asynchronous thread is started, the typesetting processing is performed while the network data is acquired.
- Reuse-pool: design a universal reuse pool to reduce memory consumption. reference UITableViewCell.
- Pre-decode: perform image decoding operations on asynchronous threads to reduce resource usage of the main thread.
- Pre-render: graphics rendering in asynchronous threads, using the CPU for rendering operations, avoiding GPU off-screen rendering consumption.
- Asynchronous drawing: create a graphics context in an asynchronous thread and draw it into layer.contents.
Display
- step1: The left side is used pre-layout, reusepool, pre-decode, pre-render.
- step2: The right side is used pre-layout, reusepool, pre-decode, pre-render, asynchronous drawing.
Then you can see that is maintained at 60fps when launch the asynchronous drawing.
Article
SQTemplate
Focus on generating template architecture files to speed up productivity & code specification
Get Started
- This project is base on the RouterPattern practice, So you need to clone RouterPattern.
- Then, you need a node server environment.
- Last, run the following command to launch server.
$ cd RouterPattern/server/RouterPattern
$ npm start
Content
- SQTemplate
- Template: a template for general architecture design
- UITemplate: quickly create a template for the UI
- SQBuilder
- SQBuilder: generate iOS / Android architecture code from a template
- SQBuilder Sample: a simple version generator written in python
Display
- img1: SQTemplate project reference MVC, MVVM, MVP, VIPER, CDD design.
- img2: SQBuilder project generator code on the desktop.
Article
- iOS 执行.py脚本生成解耦架构 / 2017 / 05
- iOS 执行.py脚本生成UI层结构 / 2017 / 05
- iOS 移动端面向文档开发 / 2017 / 07
- iOS 移动端生成工具开发 / 2017 / 08
- iOS 移动端架构初探心得 / 2017 / 11
SQLifestyle
Focus on quickly build projects and integrate some fun animations
Contents
- SQExtension: quickly build project infrastructure and tools.
- Infinite carousel: the easiest way to achieve high performance infinite carousel.
- Custom transition: achieve a full range of custom transition mechanisms.
- Gradient navigationbar: analyze the implementation process and principle of the gradient navigation bar in all aspects.