Posts

What’s New in Swift

This article is just a short overview of this WWDC session. Here are the few things that were discussed as part of the session: 1.) Private variables are now accessible to all the extensions of the class in the same file. 2.) Composing a class with any number of protocols. Example :   protocol  Shakeable {      func  shake() } extension   UIButton :  Shakeable  {} extension   UISlider :  Shakeable  {} func  shakeControls(controls: [ UIControl  &  Shakeable ] ) {      for  control  in  controls  where  control.state.isEnabled {          control.shake()      } } 3.) Swift Versions: Swift 4 is source-compatible with Swift3. Swift3.2 introduced that contains most of the Swift4 syntax changes. So, there will be 2 Swift versions in Xcode9: Swift3.2   & Swift4. The end r...

My MOOC course on FRP

Hey Guys, Recently the  Functional Reactive Programming(FRP) is getting a lot of traction, hence i started doing it and ended up getting addicted to it so much that Now i’m unable to go back and do the imperative programming at all. So i ended up creating a MOOC course on it, because i saw none of the course on this topic at all. Also, i’ve made sure to cover the best practices (Like VIPER, TDD, POP) followed in the industry to have an added bonus for those who enrol into this course. I’m pretty sure that it will help many people to adopt this awe-somatic way of writing the code. Here’s the link to my course.  For those who prefer to enrol, i can provide offer codes to take it up for a better/lesser price. I would basically like to trade it off for a rating/review on Udemy’s course page. I hope that you’d also share it with your friends and everyone around. Please get the word out. Even if they’re new to iOS programming, i’m pretty sure that it wil...

WWDC 2017 Updates

Todays WWDC 2017 has started with the message for developers “Keep making apps, the world is depending on you”. Some of keynotes: Mac: 1. High Sierra macOS releases. 2. Safari improvement - 80% faster than chrome now. 3. Split screen support. 4. Machine Learning in Chrome 5. Apple File System for Mac 6. Metal2 improves graphics potential more. 80% graphics speed improved. 7. Metal support VR Watch: 1. watch OS4 releases. 2. Play music while workout. 3. Siri based new watch faces. iOS: 1. iOS 11 releases. 2. Message app - end to end encryption. iCloud Sync (Synced across all iOS devices) 3. Apple pay - Person to person easy transaction. (Free with Debit card ; 3% charge on Credit Card transactions) 4. Machine Learning in Siri, it understands the context and your interests too. 5. Multi Language Translation support. 6. Loop/Bounce effects on Photos.  7. Spot light search on handwritten text - Notes app. 8. Virtual object placeme...

Memory Management in Objective-C

Image
Note: This article was written a very long back in the period of Xcode 6. Any application that runs on a device needs some sort of space in memory(RAM) during runtime in order to store any necessary data to be displayed or handled in the app. Any program that runs on the device needs to manage their memory based on the system resources(RAM Memory) by controlling or managing the lifetime of all the objects created for the app. iOS Applications does this through a process called 'Object Life Cycle Management' Or Otherwise called as 'Object Ownership'. This Ownership scheme is handled through a 'Reference Counting' mechanism, which uses a tracking mechanism internally to detect the number of owners for each object. Reference Counting Rules: Reference Count = 1, when an object is created and the Creator is the owner here. Reference Count +1, whenever a new owner is added. Reference Count -1, whenever an owner releases its reference. ...

Linking my Imaginea profile here

My profile on the Imaginea blogger has the following posts which are based upon the libraries that i developed for the Fontli app: SparkButton PlainLoaderView

Swift 3 Updates

Hey there, I just went through the list changes in Swift3 and i'll log an abstract of those changes here. 1.) First parameter label:  Now, all the function params have labels. 2.) Omitted needless words: Some Examples from Swift2 -> Swift3 : UIColor.blueColor() -> UIColor.blue, numbers.minElement() -> numbers.min(), "Hi there".lowercaseString -> "Hi there".lowercased, Similarly 'uppercased' for 'uppercaseString' 3 .)  UpperCamelCase has been replaced with lowerCamelCase for enums and properties: NSURLRequest(URL: someURL) -> URLRequest(url: someURL) NSTextAlignment.Left -> NSTextAlignment.left UIInterfaceOrientationMask.Portrait -> UIInterfaceOrientationMask.portrait 4 .)  GCD and CoreGraphics API's are changed from C style to Swift: GCD: In Swift2: "dispatch_after(dispatch_time, dispatch_get_main-queue(), {})" In Swift3: "DispatchQueue.main.asyncAfter(...

Hybrid Mobile App Filepath Case-Sensitive Issue

I have been yearning to learn Hybrid App Development for a very long time. To get started, i wanted to be good at fundamentals in  20+years old web technology - HTML/CSS/JS. Hence, i did this course in Coursera first and then did a round of R&D for the Hybrid frameworks and decided to start with Ionic, as i found Ionic framework to be the best in the industry as far as i know. Hence, did this Ionic course in Udemy, which is good starter for programmers.  Enough of my story.  Jumping into the context; After finishing up the course(not really finished, just watched the On-Demand videos as usual), i tried to create an app during which i faced an issue which was very weird, i.e., everything was working fine on the browser, but it wasn't working on the actual mobile devices, both iOS & Android, which were supposed to be the target devices.  First, the catch i made was that the issue was consistent on both (iOS&Android) these devices, so d...