神刀安全网

Issue 40 – 7th June 2016

    • Saving time in Sketch
    • The Right Way to Ask for User Permissions
    • A Different Take on MVVM
    • Refactoring to: Parameter Objects
    • NSNotificationCenter Protocol
    • Platform Configurations: Now and Future
    • Undo History in Swift
    • Parse Server – 100 Days Later
    • Practical Testing Tips
    • Turning UIKit Inside Out
    • Please Don’t Quit — Every Expert Was Once a Beginner

Design

Saving time in Sketch

As I think I’ve mentioned before, Sketch by Bohemian Coding is my goto tool for interface design and initial app mockups (it’s also the same tool I use to draw all my article images) and now that I’ve been using it a while I’d class myself as somewhat proficient. With that said, there is always room for improvement and in this article, @dearlorenz gives us some great tips on how to speed up our workflows.

medium.com

The Right Way to Ask for User Permissions

Asking for user permission is always a tricky business and it can have a major affect on user retention. @101babich gives us another great article, this time looking at not only when to ask users for permission but also how to do so whilst providing a seemless user experience.

uxplanet.org

A Different Take on MVVM

Is it MVVM or Scene-Stage-Director? In this article, @srdanrasic provides a different perspective on the MVVM architectural pattern as he searches for clarity around the different components responsibilities.

rasic.info

Code

Swift Enumerations

So it’s been a few weeks but I managed to post another article this week in our continuing journey through the Swift programming language. This weeks topic – Enumerations in Swift. I’d love to hear your thoughts.

andybargh.com

Refactoring to: Parameter Objects

In this article, @natashatherobot takes onboard some of the lessons from @modocache ‘s UIKonf 2015 talk on Swift Patterns in iOS API Design and looks at how to design and refactor APIs to minimise the impact of code changes. It’s an interesting idea.

natashatherobot.com

NSNotificationCenter Protocol

NSNotificationCenter is one of the most obvious uses of the Observer Pattern in the UIKit framework. Although it is a great design pattern and is used extensively by Apple, it does have it’s disadvantages though. In this article @AndyyHope applies some Swift goodness to see if he can overcome some of NSNotificationCenters shortcomings.

medium.com

Platform Configurations: Now and Future

With the ability to now run Swift code on a variety of different platforms, the need to determine the platform the code is executing on is increasingly important. The good news, is that Swift has this ability built in, and in this article @ericasadun gives us a run-down of just what is possible.

ericasadun.com

Undo History in Swift

In last weeks newsletter I mentioned the discussions going on in the community with regards to ‘dynamic’ Swift. One often cited example people have been using to justify the need for such dynamism is NSUndoManager and it’s use of reflection. In this article @chriseidhof illustrates that the need for reflection isn’t necessarily an open and shut case, and gives us a lesson on how to think differently by eschewing reflection and implementing a generic undo history using only Swift structs.

eidhof.nl

Tools

Parse Server – 100 Days Later

Around 100 days ago, Parse.com announced that it would be shutting down on 28th January 2017 and at the same time, an open sourced Parse Server was born. In this article, @swiftingio takes a look at the ecosystem that has sprung up around this new open-source project and also surveys the variety of options that are now available. If you are one of those who was affected by the announcement, time’s-a-tickin’ but at least now you have a range of options to choose from.

swifting.io

WWDC.family

Issue 40 – 7th June 2016

If you’re going to WWDC, you might have come across this already but if you haven’t, @KrauseFx has put together a nice app to help you connect with other developers who are either attending the conference or are in the SF area next week.

wwdc.family

Libraries

Tween-Controller

Issue 40 – 7th June 2016

Tween-Controller is a Swift toolkit by @daltonclaybrook that allows easy development of interactive menus and tutorials by interpolating between Tweenable attributes. Looks good.

github.com

Quick

Issue 40 – 7th June 2016

Quick reached the grand old age of 2 this week . If you’ve not come across it before, it’s a behaviour-driven development framework developed by @modocache for Swift and Objective-C. A good choice if you want to take your testing to the next level.

github.com

Videos

Practical Testing Tips

I’m still catching up with all the videos from iOSCon last week, but one I have already watched is this one from @designatednerd . In it, she provides some practical tips on how to test your iOS apps including testing your networking stack, how to test your core data stack as well as covering some of the basics of UI testing. It’s a great talk and one worth watching.

skillsmatter.com

Turning UIKit Inside Out

As I mentioned at the start, I have a suspicion that WWDC might bring some changes to the UIKit APIs but I suspect that the more invasive changes needed to bring greater alignment between UIKit’s architecture and the declarative approach preferred by Swift will be much further in the future. In the mean time that leaves developers wrestling with the differences between these two paradigms. In this video, @benjaminencz introduces the idea of a declarative view layer that may help.

skillsmatter.com

Other

Please Don’t Quit — Every Expert Was Once a Beginner

App development and software development in general are by their very nature moving beasts. We are always trying to build something new and tackle something different and although I suspect that this article from @WebDev_Cave was originally targeted at people who are just learning to code I think it’s got a lot of points that are that are applicable to all of us.

freecodecamp.com

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Issue 40 – 7th June 2016

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址