GO FURTHER, FASTER: Try the Swift Career Accelerator today! >>

How to decide which framework to use in a take-home project?

Recorded – watch the full episode on YouTube.

How do you decide which framework or implementation will be better to use and implant in a take home project?

Sean Allen: Well, if it's not part of the requirements, because sometimes they'll tell you exactly what to build. So obviously that probably doesn't apply to this question, but if you have the freedom to pick and choose however you want to build it, I mean.

Wherever you want to build it. Which framework to use? It really depends on what the project is.

Paul Hudson: I'm thinking more that they're a hand we'd reach for instinctively. Or you'd actually get it. Actually, I could build that from scratch, build that from scratch, build that from scratch. Are you happy to use frameworks at all to come into views? Or would you think, “no, no, no, I want to build this thing entirely from scratch.”

“Which framework to use? It really depends on what the project is.”

Sean Allen: So when you say frameworks, I guess I was thinking like the Apple first-party framers, but you're talking about just third party libraries in general.

Paul Hudson: If you’re given a take home test and you're thinking to yourself, “okay, I've got a week to implement Giphy,” for example, would you instinctively reach for third-party libraries and frameworks, or do you make yourself the most you can? Are there a handful you reach for always, or for you as always not invented here, do it all myself?

Sean Allen: Initially my first goal would be to try and do it myself. Because I think that shows when you turn in your project, to me it just shows a better understanding. I've received take home projects as part of the hiring process for Aluna when we hired. I had one project, it was a small simple take home project and there were 10 third-party libraries in there. And I'm like, did you do anything? It had a library for everything. I was like, that's not a good look. Right. Because you're wondering, what can they actually build?

“Initially my first goal would be to try and do it myself. Because I think that shows when you turn in your project, to me it just shows a better understanding.”

So yeah, I try to build everything all native. Now, of course, that may not be realistic. An example I usually go to is, if you have a good chart in your app, there's a great library out there called Charts. I tend to use that because creating your own dynamic chart from scratch, that's a tall task. But things like networking, I used to reach for Alamofire instinctively.

Over the past two years or so I’ve kind of gotten off that because it's very, very heavy if all you're doing is basic get posts, you know what I mean? If you're not doing multi-part form uploads and all kinds of crazy stuff, I feel it's very bloated for just simple stuff. So yeah. Anyway, long answer, I tend to do it myself if I can.

This transcript was recorded as part of Swiftly Speaking. You can watch the full original episode on YouTube, or subscribe to the audio version on Apple Podcasts.

Listen on Apple Podcasts

Hacking with Swift is sponsored by RevenueCat.

SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure and A/B test your entire paywall UI without any code changes or app updates.

Learn more here

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Pro SwiftUI Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.