Pick [static|dynamic|.xcframework] ?
![Pick [static|dynamic|.xcframework] ?](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fstock%2Funsplash%2FzjV8ptYgcEo%2Fupload%2Fb7f2544deaa1d14c4ce4aba907672703.jpeg&w=3840&q=75)
I love technology and everything related, from gadgets to new professional techniques. I like thinking, researching, optimizing, inventing and developing. I have a strong background in software research and development, operating systems, Voice-over-IP, network security, wired and wireless network engineering, complemented with electronic engineering background.
My career goal is to always keep learning, to be challenged, and to work remotely so I can be present for my family.
Bug hacker and master troubleshooter, my strength is understanding a problem and getting to the root of it. I'm mostly a self-taught individual and a constant learner. I push my technical boundaries daily and search for ways to improve my skills every day. With over 20 years of experience writing software in various languages, creating or optimizing algorithms, the digital development world is my turf.
Sample challenges which I particularly enjoyed:
- Created a GLSL based magnification tool for a client who was turned down by three other companies as "impossible to do on macOS".
- Optimized several SQL queries to reduce load time of a particular web page from several seconds to sub 50ms.
- Identified the root cause of stuttering animations in iOS mobile app and implemented mitigation strategy
Specialties: Swift, Objective-C and PHP Software Development; TCP/IP and Wireless Network Engineering
Someone asked me that question earlier. Well, as with everything else, it depends.
First, if your module/library will need to be distributed with assets, you should go with a .xcframework as it can include additional files. Manually distributing a .a or .dyld file along with a set of assets to include is a recipe for disaster. So you'll pick .xcframework; and in that framework will be your static and/or dynamic library.
As for static vs dynamic, it depends on how your app will be using it. If it will always be loaded and your app requires that functionality to work, then build it as a static library. Your main app executable will be slightly larger but still smaller than app binary + dynamic library. And since you will always need to load the dynamic library, you will also save some time because it will already be linked at compile time. So... faster for your users.
However, if your library contains a bunch of stuff that's mostly needed only for specific edge cases in your app, then you will want to pick a dynamic library. This will allow your app to start immediately, and iOS will load the dynamic library as needed at runtime.
Note that using a dynamic library may also introduce some unexpected delays due to the dynamic nature of the linking. So be careful about making use of a function from a dynamic library for the first time during animations.





