Learning Swift: A Good Place to Start

As with all things Internet, there are a megaton of resources posted to learn Swift. In scanning to find some that are useful, I found that they all tend to have strengths and weaknesses. Add to that everyone’s own unique skill level and learning preferences and it becomes obvious that no one size fits all.

That said, a good list of resources to choose from seems a decent solution. Having reviewed a few, the best list I’ve come across so far is learnswift.tips. It includes the essential Apple resources (WWDC, Docs, Update Blogs, etc.), is divided into different skill levels, and has a sizable list of other resources that appear to be well curated.

Again, learnswift.tips. Enjoy, don’t forget to review previous posts on Swift, and look forward to future posts on Swift resources.

Read More

WatchKit is Out

Time to roll, baby!

WatchKit

Read More

PhillyCocoa Meeting Notes - November 2014

Meeting Kickoff and Updates

We all missed Mike Z. at this month’s meeting and hope he had an awesome time at the conference in Boston! We’re all looking forward to hearing some of the megaton of info he soaked up. :) That said, Curtis did a fantastic job in his absence and we, as always, got the benefit of great talks and surrounding discussion.

Here are some of the intro points of interest:
• The next Side Project Saturday has been moved to avoid conflicts with the holidays: (Nov 22 and Dec 13)
• CocoaLove was epic and now the videos are now being posted!
• The Kotaro-led Designing & Planning Your iOS App” Workshop was awesome…lots of “rubber meets the road” insight and guidance.
• Tom will be leading an Intro Swift Workshop soon which is bound to be equally succulent!

Anyway, be sure to hit the Meetup site (http://www.meetup.com/PhillyCocoaHeads/) to stay up on other awesome upcoming events.

Dennis, get on with it!

Ok…below is a quick recap of the talks and links to resources for more info. :)


Show and Tells


Jeff Kempista - iOS 8 Extensions

Jeff gave a raw cool talk on his experiences with iOS 8 Extensions. Thanks Jeff!

Here are some of the points from his talk and the discussion that came up around it:
• While extensions have to be bundled with an iOS app, they run completely separately and do not require even one launch of the app they are bundled with (called the containing app) to be presented/used by iOS.
• While they can’t pass messages to the containing app, they can share code and data with it as long as any code is bundled in a framework and any data is placed in a persistent store within the bundle (e.g. a SQL Lite DB file, Core Data persistent store, NSUserDefaults, plist, etc.). Keep in mind, though, not all APIs are available to extensions.
• If the extension crashes, iOS will just bypass displaying the corresponding view as an option within the context of the extension point (e.g. For Share extensions, that would be in the view that presents the iOS sharing options like FB and Twitter).
• Share extensions can even launch other apps!
• There is a checkbox (and associated Xcode warning) in one of the build settings pages that I couldn’t find even after adding a couple extensions to a test project. However know that if it’s not checked, Apple may reject your app containing the extensions. This stack overflow post was the only thing that sounded close (http://stackoverflow.com/questions/25949108/warning-during-archive-app-with-ios-8-extension-in-xcode-6) but the checkbox wasn’t the one Jeff showed. Hit Jeff up for details or chime in if you have more info.
• For an example of Action extensions, the 1Password app (https://itunes.apple.com/us/app/1password-password-manager/id568903335?mt=8) contains at least one of them.
• Jeff also posted his slides at https://dl.dropboxusercontent.com/u/12567901/Extensions.key

Resources for more information:
• Apple Dev Page for App Extensions: https://developer.apple.com/app-extensions/
• http://www.sitepoint.com/building-today-extension-ios-8/
• http://www.cnet.com/how-to/explaining-extensions-in-ios-8/
• http://www.macworld.com/article/2684894/ios-8-extensions-how-they-work-and-why-they-matter-to-you.html

Kostas “Gus” Nasis - Rapid App Development Framework

While technical issues with posting content to the screens got in the way, Kostas and Sinae presented a way-cool content-rich app they developed for the ABRAAJ Group using lots of custom controls and web views (in a way that even Kotaro approves).

Kostas started to present their really cool idea of them developing a way to describe a UI using a JSON-format which describes all the attributes of the views. However, the talk was cut short so we’ll look forward to his presentation next month.

Kostas “Gus” Nasis - Pixate Demo

Here Kostas demoed Pixate—a very slick tool for mocking UI interactions and animations.

Here are some of the points from his talk and the discussion that came up around it:
• The drag-and-drop UI is similar to IB where you can drop what they call Layers (that represent views) onto the canvas and then associate different gestures with those layers.
• You can bind animations and other UI behaviors in response to user triggers of the corresponding Tap/Pinch/Pan/etc. gestures associated with the layer.
• You can group the layers in ways similar to creating a view hierarchy.
• There’s a simulator view that shows how the prototype would look on a device and the Pixate app allows you to do the same thing with an actual device just as Xcode does with real app code!
• While you can place other rectangles in the editing workspace to represent other scenes/screens, there’s only really one canvas so it was only designed to represent one screen per file similar to xibs.
• Also, they may be building a capability to generate code from the prototypes you build.
• Kostas also mentioned that the videos on the Pixate site are short and the ramp is quick.

Resources for more information:
• Main site: http://www.pixate.com
• Good videos available at: http://www.pixate.com/education/

Hugh O’Neill - Kickstarter Feedback

Hugh let us in on his latest initiative associated with his Happ Puzzle App, called Happ Greeting!

Here are some of the points from his talk and the discussion that came up around it:
• Happ Puzzle allows someone to send scrambled photos to friends to be reassembled like a puzzle. • In Happ Greeting, Hugh has expanded this idea to allow the binding of a message to the photo being sent such that when you assemble the photo, the message proportionally gets descrambled…cool!
• Several people gave really great feedback and I wish I remembered so I could mention by name. You all know who you are…thanks for all the great input!
• Hugh also gave due kudos to Curtis who, at the design workshop, helped him refine his approach in associating the puzzle progress to the corresponding message assembly.
• Hugh wants to release to the App Store soon so we’ll keep everyone posted.


Curtis Herbert - GPS library

• Curtis graciously deferred his talk due to time constraints but we are absolutely holding him to next month’s meeting!


Talks


Andrew Theken- Confessions of a C# Fanboy: Using Xamarin to build your next iOS App.

Andrew, Andrew, Andrew. Thursday, we found out that, while remaining married to us, has been seeing another language…C#. While I’m not sure we’ll seek counseling, we still love him and will certainly continue to stay married. :)

Here are some of the points from his talk and the discussion that came up around it:
• Andrew loves…no…wait…he love, love, loves C#
• Xamarin actually compiles C# code into native iOS and Android binaries.
• Time’s Arrow (Andrew’s app) was developed in C# using Xamarin.
• He has reservations about the cross-platform capabilities with regard to writing one app that integrates with multiple different platform-specific SDKs…practically-speaking, you still have to code to each platform and thus should probably code separate apps for each.
• That said, if you love C#, you’d be able to use that as a single language across those platforms.
• Andrew’s Loves of Xamarin: It generates native code, interoperates with C and Obj-C, build system simpler than Xcode, great package manager, and great async support.
• Andrew’s Dislikes of Xamarin: Transliterating Obj-C examples, awkward integration with IB, “Vagarities” of object bridging, more difficult “meta-programming”, and some valid C# is unavailable for AoT.
• Andrew’s Loves of Xamarin: Not having to know Obj-C to use it, tools slower than Xcode, mapping the different meanings of the terms (e.g. Categories, Delegate, etc), the cross platform point above.
• Other cross-platform dev platforms: Unity, Mono (Xamarin’s open source project), .NET (yes, .NET — http://techcrunch.com/2014/11/12/microsoft-takes-net-open-source-and-cross-platform/)
• Cross-platform tools that facilitate building native apps where the UI is driven by HTML, CSS, and Javascript: Cordova, Titanium, and PhoneGap

Resources for more information:
• Developer resources site: http://developer.xamarin.com
• Main site: http://xamarin.com
• Time’s Arrow (https://itunes.apple.com/us/app/times-arrow/id857282783?mt=8)
• Unity (http://unity3d.com)
• Mono (http://www.mono-project.com)
• NET (yes, .NET — http://www.microsoft.com/net/netfuture)
• Cordova (http://cordova.apache.org)
• Titanium (http://www.appcelerator.com/titanium/)
• PhoneGap (http://phonegap.com)

Note: This is only one humble man’s reflection of the talks. Please post any insights you extracted to the Meetup site!

Until next time, keep being tremendous!

Read More

November Meeting Agenda

The next Philly CocoaHeads meeting will be Thursday, November 13th from 6:30pm - 9pm at the Apple Store on 16th and Walnut. After meeting drinks will commence at Ladder 15 located at 1528 Sansom Street.

Please RSVP via Meetup: http://www.meetup.com/PhillyCocoaHeads/

When you arrive at the Apple Store let one of the store employees know you are there for CocoaHeads and they will let you into the back where you can come up to the second floor briefing room space.

For folks who drive in and need parking one lot recommend by the store is from Patriot Parking on Chancellor Street.

http://goo.gl/maps/l9p3I

Meeting Agenda

Group Business

  • Next “Side Project Saturday” is Saturday, November 22nd @ IndyHall (Date changed due to holiday weekend.)
  • CocoaLove recap
  • Workshop recap
  • Workshop announcement?

Sponsors

We continue to welcome Twilio who is our current long term sponsor of Philly CocoaHeads. Their support helps us provide pizza and refreshments at our main meetings.

Twilio is a software and cloud-based communications platform that enables the rapid build and deploy of powerful, flexible business communications solutions.

For more info check out their website and if you have any question please contact Brent Schooley brent@twilio.com.

Show and Tell

  • Jeff Kempista - iOS 8 Extensions
  • Kostas “Gus” Nasis - Rapid App Development Framework
  • Kostas “Gus” Nasis - Pixate Demo
  • Hugh O’Neill - Kickstarter Feedback
  • Curtis Herbert - GPS library

About CocoaHeads

PhillyCocoa is the Philadelphia area Mac and iPhone programming group, a chapter of the worldwide CocoaHeads. All skill levels are welcome. The only requirement is an interest in Apple-related technologies and moderate tolerance for geeking out.

The main CocoaHeads presentation-style meeting is the second Thursday of every month. We also hold a Side Project Saturday event the last Saturday of the month. For more on our events see our Meetup page:

http://www.meetup.com/PhillyCocoaHeads/

We are always looking for feedback and suggestions on what topics to discuss at our meetings. Please reach out if you have any comments.

Group website: http://phillycocoa.org

Read More

HOW APPLE CREATES LEVERAGE, AND THE FUTURE OF APPLE PAY

An interesting look at how Apple negotiates and how they usually win. Very well done article.

HOW APPLE CREATES LEVERAGE, AND THE FUTURE OF APPLE PAY

Read More

Web Apps

There will always be an argument about this. More so now with the new features for webviews in iOS8. There’s a potential middle ground but I find it to be problematic for people to think web apps are some obvious shining unicorn for the future of mobile development. Very few developers can get away with pretending a web app can mimic a native app.

Web Apps

Read More

Paula Scher: Great design is serious (not solemn)

Read More

CocoaLove Livestream

CocoaLove start off as a #JFDI reaction to having no iOS/Mac conference in Philly. What an amazing eye-opening event it became. It was a blast to organize and observe as it became a big hit with everyone who attended. We have a lifestream up although not sure for how long.

CocoaLove Livestream

Read More

To Siri, With Love

How One Boy With Autism Became B.F.F.’s With Apple’s Siri. A really touching reminder that technology can be magical…and Siri isn’t as useless as some of us make her out to be.

Read More

Full video of Jony Ive’s Vanity Fair interview

Read More