So, hello. I didn't expect to see you all here. We're—if I'm here, that means we're probably building an app, right? Now, have you ever actually gone ahead and built an app? It's surprisingly challenging. Not only do you have to learn the tools and programs to actually go ahead and build the app, then you've got to go ahead and start scaffolding out the app, figuring out where all your data's coming from, actually build out some of the UI, and then you have to go ahead and build out more UI.
Sometimes some UI is contextual. Sometimes it's only going to be shown on certain device sizes. Sometimes it's only going to be shown on certain device types. You have to build the UI again. Then you have to build some more UI. Even though you are building for mobile, sometimes we have larger form factors, like a tablet that needs adjusted UI to fit that scale and that dimensions that our users are used to working with.
Now, imagine doing this once. Challenges arise. We now need to go ahead and do this two additional times to make three UI designs for our users. This is not ideal. All these platforms, whether it's iOS, Android, and the web, have their own common design patterns and their own tools and techniques for building out an app. There are ways to alleviate this. We could go ahead and use a popular cross-platform solution. The only problem is that some cross-platform solutions are not as cross-platform as they advertise. For instance, some of the ones that people are probably familiar with only focus more or less on iOS and Android. The web, it's kind of an afterthought, and even then, it's still a limited version of the web, not being able to use existing libraries that you may know and love, for the fact that it now needs to exist in this kind of weird pseudo-web context, but also be able to run in native. It's not ideal. The more ideal solution would be have something where you could have your web code, your iOS code, and your Android code, all coexisting and being able to share the components across all of them. I'm here. I'm probably going to be talking about it. So we're going to be talking about Capacitor, which is the cross-platform solution which allows us to share all of our code across all the platforms.
Now how this works is a fascinating technical deep dive, but to kind of summarize it, Capacitor works by taking your existing web app and packaging it up in this native shell. Now this native shell has access to all of the same native features that any of the other cross-platform solutions have, but also allows you to integrate with the native device features and third-party SDKs pretty seamlessly. So if you're deploying to iOS, you can access the native SDKs available there, same way with Android. And on the web, we're able to provide either a fallback or utilize JavaScript SDKs that exist there. Now, the way this is done is through a very complex kind of solution of parsing out JavaScript code, passing it to a native runtime, but that is kind of beyond the point.
Comments