AppForce1 Worklog

Third party dependencies


Listen Later

Send me a text

Shoutout to Jason Zurita for his article https://jasonzurita.com/the-hidden-cost-of-dependencies/

  1. What are third party dependencies? 
    1. Explain the distinction between: 
      1. 1st party, for iOS devs, anything in the iOS SDK.
      2. 2nd party dependencies, stuff integration from service provider you rely on. (You could call this a subset of 3rd party dependencies you really can not do without.)
      3. 3rd party, stuff you integrate because it saves your time or it is convenient
  2. Risks with 3rd party code 
    1. Complexity (thank you Jason) 
      1. Managing versions
      2. Try updating a dependency in a Node’js codebase.
      3. Build times, more code == more waiting
      4. 3rd party code problems are often now your problems 
        1. OSS frameworks only have a guarantee until the door
      5. 3rd party code often intertwines deeply with your implementation if you are not very careful 
        1. REALM or other data serialization libs are a great example
    2. Security 
      1. You choose to adopt all this third party code including all its warts, problems, issues and hidden problems. 
        1. Enterprises often require a 100 percent review of any third party code. There is a reason big corps at some point try and loose as many dependencies.
    3. Third party dependant developer syndrome (this is a fun one) 
      1. Not invented here syndrome should also be avoided though
  3. How to find third party dependencies 
    1. CocoaPods index.
    2. Swift Package Index, mention we sponsor them. Only mention this once briefly 
      1. We also sponsor Tuist
    3. Github and Google search
  4. Licensing an the app store 
    1. GPL is “difficult”
    2. An Apache or MIT type license is reasonable 
      1. If you are unsure, read up a bit on licenses. https://opensource.org/licenses
  5. How to choose to adopt a dependency 
    1. Just link it won’t do
    2. Review the dependency and project health on Github. 
      1. What quality checks does the project have in place?
      2. How does the support by the dev(s) look to you?
      3. Would you pay for this feature set if it wasn’t available for free? 
        1. If yes, WHY ARE YOU NOT SPONSORI

Join me in Amsterdam for Do iOS 2025, tickets and details available now.

Lead Software Developer 
Learn best practices for being a great lead software developer.

PodMatch
PodMatch Automatically Matches Ideal Podcast Guests and Hosts For Interviews

Support the show

Do iOS: https://do-ios.com


Rate me on Apple Podcasts.

Send feedback on SpeakPipe
Or contact me:

  • Mastodon: https://hachyderm.io/@appforce1
  • X: https://x.com/appforce1
  • BlueSky: https://bsky.app/profile/appforce1.net
  • LinkedIN: https://www.linkedin.com/in/leenarts/

Support my podcast with a monthly subscription, it really helps.

My book: Being a Lead Software Developer

...more
View all episodesView all episodes
Download on the App Store

AppForce1 WorklogBy Jeroen Leenarts

  • 5
  • 5
  • 5
  • 5
  • 5

5

4 ratings


More shows like AppForce1 Worklog

View all
Grammar Girl Quick and Dirty Tips for Better Writing by QuickAndDirtyTips.com

Grammar Girl Quick and Dirty Tips for Better Writing

2,846 Listeners

Under the Radar by Relay

Under the Radar

213 Listeners