Questions and Answers

iOS App Development with Swift - Summary

Open_source_Swift.jpeg

Full article here

Wouldn't it be a privilege to get your app found on iOS App Store? The store puts your creativity at display in front of over 1 billion iOS users worldwide. So the moment you are there, your business prospects get multiplied manifolds. However, it takes real hard-time to create app that can outpace the competition of 2.2 million apps. Indeed, you have to be at your best while pursuing iOS app development. Here is a guide for aspirants as how to get started with.

Create Your Apple ID (If you don’t have any)

  1. Open “iTunes.” Make sure that you have the latest version.
  2. Navigate to the top of the iTunes window, choose “Account > Sign In”. Then click “Create New Apple ID”.
  3. Read and accept the “Terms and Conditions” and “Apple Privacy Policy.”
  4. Complete the form to create your new Apple ID. The email address that you use becomes your new Apple ID. To make account recovery easier in future, it asks about security questions and optional rescue email ID.
  5. Fill the form, click “Continue.”
  6. Enter your credit card and billing information, then click “Continue.” The entered information can be removed or updated later.
  7. Check verification email received, and click on the link therein.
  8. Your Apple ID is ready.

B. Set up Xcode

Full article here

Swifter Swift - an absolute must repository

Swift-Logo.jpg

Link here

SwifterSwift is a collection of over 500 native Swift extensions, with handy methods, syntactic sugar, and performance improvements for wide range of primitive data types, UIKit and Cocoa classes –over 500 in 1– for iOS, macOS, tvOS, watchOS and Linux.

List of All Extensions

  • SwiftStdlib Extensions
  • Foundation Extensions
  • UIKit Extensions
  • AppKit Extensions
  • CoreGraphics Extensions
  • CoreLocation Extensions
  • MapKit Extensions
  • SpriteKit Extensions
  • Misc. Extensions

How cool is this?

SwifterSwift is a library of over 500 properties and methods, designed to extend Swift’s functionality and productivity, staying faithful to the original Swift API design guidelines.

Link here

Junior Programmer Job Advice

StockSnap_KG40JUP28N.jpg

Read the entire post here

A few years ago I conducted one of the most interesting interviews to this day. And, it came with a big twist in the end.

We were looking for a junior AngularJS developer. Writing basic directives, simple two-way data bindings, clean code - yes. Deep understanding of the digest loop, interceptors, XSRF protection, fancy design patterns - no, not necessarily.

Then out of the blue, THE MOST gorgeous candidate applied.

Strong background with not just Angular but plenty of backend frameworks as well, he had even coded mobile apps in his spare time. Had that slightly arrogant half-smile going on, as if to say "Don't know why you even bother, dude, I'm your man."

Here comes the twist, though.

For 20 minutes of intro talk, we barely spoke about Angular. Such was his urgency to showcase all the various assets of his skill set that what I really wanted to hear was a sentence and a half about some dull directive he wrote one time.

Then came the technical part. In the next 30 minutes, I could actually see his confidence evaporating from the room, although I was trying to be as friendly as possible. Turned out his Angular knowledge was shallow, the tip of the iceberg, "I saw that in a tutorial once" type.

Although he was presenting himself as a senior developer, he was a mere junior level for this position.

Expectedly, he didn't get the job. We hired a quite younger girl with less overall experience but much more focused on what we needed.

See, not that he wasn't smart - he was. I'm sure he would have caught up eventually.

His problem was different - he didn't have a niche. He hadn't picked a thing. He was ok for everything but good for nothing.

 

This is your #1 Junior Developer Mistake - not picking your niche early.

Read the entire post here

33 awesome GitHub lists for iOS development

awmleer-401721-unsplash.jpg

Read full article here

Looking for interview questions & answers? Need to find iOS chart or animation library? Or maybe you are just curious to check new open-source apps, free courses, coming conferences or people to follow on Twitter. Whatever you’re looking or need, you will find that on GitHub :)

There are really a lot of iOS gems done by the community! We made our research and collected the most useful repositories for you. For sure, you will find there a bunch of practical resources and a lot of inspiring ideas. 
Check it out!

Read full article here

Clean Swift Architecture - an alternative to MVC

 

Read the entire article here

A couple of years ago, all of the iOS apps were small containing less than 10 screens. The codebase was small, storyboards were working excellent, and it was easy to maintain your project. From an architectural point of view, MVC was doing a great job.

How about today?

Today, we are facing big technological advancements and an insane app market growth. In other words, apps are becoming big and complex. We are working on projects that contain 20, 30 or even 40 screens making it impossible to be maintained with MVC.

As technology moves forward, so should we (developers).

Recently, I really got tired from MVC and started looking for a new architecture. After a short research, I have noticed the Clean Swiftarchitecture and instantly fell in love with it! This architecture was exactly what I was looking for. 🚀

About the Clean Swift Architecture

Clean Swift (a.k.a VIP) is Uncle Bob’s Clean Architecture applied to iOS and Mac projects. The Clean Swift Architecture is not a framework. It is a set of Xcode templates to generate the Clean Architecture components for you. That means you have the freedom to modify the templates to suit your needs.

In an MVC project, your code is organized around and grouped by models, views, and controllers. In Clean Swift, your project structure is built around scenes (or screens). Here is an example how does one scene looks like. In other words, we will have a set of components for each scene that will "work" for our controller. These are the components:

  • Models
  • Router
  • Worker
  • Interactor
  • Presenter
  • Configurator

Read the entire article here

The good and the bad of learning Swift

With more than 1 billion devices in use as of January, 2016, iOS is the world’s second most popular mobile platform. In some regions, including the USA, the UK, and France, Apple devices continue to outperform Android in smartphone sales numbers. That is why so many businesses focus their software products primarily and sometimes solely on the iOS platform as a key investment opportunity and strategic benefit.

If you are one of those smart business owners following the iOS app development path, probably the most important decision you will make is choosing the right tech stack for your product. If you decide to go for native development instead cross-platform solutions, you still have to decide which language to use: the good old Objective-C or brand-new Swift.

Read more here

How to optimize swift and iOS build times

Here is a FREE opens source repository that can help speed your builds

Includes:

  • Type checking of functions and expressions
  • Slowly compiling files
  • Build active architecture only
  • dSYM generation
  • Whole Module Optimization
  • Whole Module Optimization for CocoaPods
  • Third-party dependencies
  • Modularization
  • XIBs
  • Xcode Schemes
  • More

Here is a FREE opens source repository that can help speed your builds

Why Learn Swift?

Did you know that Swift Programming Language is today regarded as one of the fastest growing programming languages in the world? It was first introduced as an alternative to the Objective-C language at Apple’s Worldwide Developers Conference (WWDC) in June 2014. In less than four years, Swift is already there amongst the top 10 programming languages as also revealed by a recent RedMonk Programming Language Rankings. Even in the 2018 StackOverflow Developers Survey, it was found that Swift emerged as the sixth most loved programming language even ahead of JavaScript.

Read more here

Worst Software Learning Advice

I agree that a lot of advice I see is not that great.  He sums it up well and makes it funny.  I don't have a degree and I learned most everything through informal methods like online tutorials and videos.  

Pros and Cons of Swift

With more than 700 million iPhones currently in use, iOS is the second-most popular mobile platform world over. While Android may be at an advantage worldwide market-share wise, in regions, like the US, France and the UK, Apple devices continue to dominate the market. This is why, so many businesses focus solely on iOS platform for their software products, as they see it is as their key investment opportunity.

If you are one of those businesses looking to follow the iOS app development, then you have a critical decision to make. That is of choosing the right tech stack for your product. What are you gonna go for? If it is the native development instead of cross-platform, then which language will you use? The good ole Objective-C or Swift?

Let’s take a look at the pros and cons of using Swift iOS development language.

Read more here

Perks of learning Swift

Those who are already engaged with the iOS app development, there are no divergent ways to the fact that they already know the benefits. But on the contrary for the newbies still looking out to build their career might not exactly know. For quite a long time, Object C was the sole language used developing iOS apps. Objective C is the subset of C with added benefits of dynamic runtime and object-driven features. Well, the perspective of iOS app development was shaped in a different manner with the launch of Swift by Apple. The newer programming language was referred to as objective C being devoid of C.

Now, Swift was accepted with an open heart by the iPhone developers as it was safe, easy, modern and easy to learn and use. Also, Swift allows a great level of interactivity in the development process. The features in Swift simplifies the common patterns that are used in Objective C. Generics, closures, and type of interface used in Swift are comparatively easier to use. Swift is a combination of both C and objective C eradicating the hurdles that are tagged along with both of them. The attractive part is support of Cocoa Touch and Cocoa which clear outs the understanding of app development for Apple devices. If you are anywhere thinking to indulge in iPhone training and become an iPhone developer, learning Swift is mandatory.

Read more here

Build your first iOS App

More on image sizing - stickers

Found this link very helpful

Small: 100 x 100 pt @3x scale (300 x 300 pixel image)

Medium: 136 x 136 pt @3x scale (378 x 378 pixel image)

Large: 206 x 206 pt @3x scale (618 x 618 pixel image)

So many icons, so little time

Need the crazy number of sizes and resolutions for your in-app icons or the app icon itself? This in browser tool is great

http://appicon.co/

Optionals and ifs and lets and guards

What if.. if let and guard let and var let and well .. there is a lot of “let” in Swift. Two goodreads:

Forcing iOS orientation for single or all ViewConroller

The app I am building really makes sense in portrait mode only. So I want to force that. And also, there is just too much to test with all the orientations. So why not?

Here are some resources that helped me:

Very helpful iOS Toolkit for 2018

Hello folks, I would like to update some of my toolset for 2018 that I use for iOS development tools, cloud service, websites, repos, libraries and some miscellaneous that I am still currently using.

This article will continue to be updated all year round. Some tools can be deleted, some others not. You can find some of the updates from my 2017 toolset and some new advice with the reasons behind.

I will also be in WWDC 2018. Hope to see some of you there :)!

Cloud Service

I use Macbook Pro 2015. It is fair enough but there is a problem with the compiling time. When I started my current job, I can not estimate project size and compiling time details. Also there is not another alternative such as iMac or Hackintosh for working faster with big projects. One day, while talking with my friends they asked me why I do not use cloud Apple hardware. It was a missing tool in my list that supports developers who don’t want to run development and testing in house. MacStadium services fit very well with developers, dedicated iOS build infrastructure quickly when they can’t afford to purchase hardware.

Also, they are about to roll out a program offering free dedicated Mac minis to open source developers!

Read the entire article here