Native components for react-native
(WIP + placeholder for now, please see question and answers section for more info).
- dependency graph
- SPM + Cocoapods libraries:
react-native
libraries:
- Question: What is this library?
- Answer: This is meant to be an "entry point" for all the libraries listed in the dependencies section; the purpose of this library is to ensure that the dependencies are compatible/work with each other, and reduce duplicated code.
- Answer: This is meant to be an "entry point" for all the libraries listed in the dependencies section; the purpose of this library is to ensure that the dependencies are compatible/work with each other, and reduce duplicated code.
- Question: honey, why not just put everything into one big monorepo? this seems unnecessarily messy idk
- Answer: i agree sm 😭, however i do not have the knowledge and resources required to create and maintain a monorepo that has multiple languages (e.g. swift/c++/objc/typescript), and packagers (e.g. npm/cocoapods/SPM); this is the best i can do for now sorry
- Answer: i agree sm 😭, however i do not have the knowledge and resources required to create and maintain a monorepo that has multiple languages (e.g. swift/c++/objc/typescript), and packagers (e.g. npm/cocoapods/SPM); this is the best i can do for now sorry
- Question: ok, i understand; are there at least any benefits of separating the dependencies out?
- Answer: yeah—although it's a versioning and maintenance nightmare—I am at least able to create an example for each library so i can test and if they're working or not, while at the same time being able to isolate whether a bug is caused by
react-native
, or fromUIKit
.
- Answer: yeah—although it's a versioning and maintenance nightmare—I am at least able to create an example for each library so i can test and if they're working or not, while at the same time being able to isolate whether a bug is caused by
- Question: Why use this library, instead of directly using the dependencies?
- Answer: The libraries listed in the dependencies section have different versions, and it's kind of hard to keep track which libraries are compatible with each other; using this "wrapper" library instead makes sure the correct version for all the dependencies is installed.
- Although i try my best to follow the "semantic versioning" guidelines, i make mistakes sometimes, and introduce breaking changes accidentally; this causes a cascade/domino effect where i unknowingly break the other libraries.
- Question: Aside from being a "wrapper" library for "unifying" the dependencies and their different versions (and ensuring that they are compatible w/ one another), what else does this library do?
- Answer: Create components that utilize the native
UIKit
primitives and API's, e.g.: combiningreact-native-ios-adaptive-modal
(to create a sheet),react-native-ios-list-view
(to create a grid), andPHPhotoLibrary
to make a custom image picker, etc.
- Answer: Create components that utilize the native
- Question: gurl, why is there a sponsor button? it's giving greedy tbh
- Answer: you don't have to, but it would be nice of you, if you did 🥺👉👈
- i'm just trying things out; this is mostly just for people (and organizations) who have the extra means to do so.
- Special thanks to @junzhengca for opening this issue regarding financially supporting
react-native-ios-modal
, and becoming my 2nd sponsor 🥺. - Special thanks to @natew for becoming my 1st sponsor, and funding the work needed to make the libraries listed in the dependencies section work together.
- Question: Is there a way to track the progress?
- Answer: I try my best to track progress at this gist — it contains a timeline/log of the things i am currently working on.