Search: wenderlich

New iOS programming books

RayWenderlich.com iOS programming books: 'Data Structures & Algorithms in Swift', 'Realm: Building Modern Swift Apps with Realm Database', and 'Design Patterns by Tutorials'.

If you’re an iOS developer with some experience and looking to boost your skills, you’re in luck: RayWenderlich.com, the go-to place for tutorials and books on iOS programming, has three new books for intermediate to advanced Swift programmers:

  • Realm: Building Modern Swift Apps with Realm Database: The perfect introduction to Realm Database and Realm Platform. Learn how to set up your first Realm database, see how to persist and read data, find out how to perform migrations and more.
  • Data Structures and Algorithms in Swift: Learn how to implement the most popular and useful data structures, and when and why you should use one particular data structure or algorithm over another.
  • Design Patterns by Tutorials: Explore the usefulness of design patterns, moving from the basic building blocks of patterns into more advanced patterns and completes the lesson with less common but incredibly useful patterns.

Illustration: Advance Swift Spring Fling.

Normally, these books sell for $54.99 each (and they’re worth it), but right now, they’re on sale as part of their Advanced Swift Spring Fling, where all 3 books are available as a bundle for $99.99, a 40% discount! This event lasts for just two weeks, so if you want these books at a cheaper price, get them now.

New Android programming books

RayWenderlich.com Android programming books: 'Android Apprentice' and 'Kotlin Apprentice'.

RayWenderlich.com has long been known as the go-to place for tutorials and books on iOS programming, but over the past year, they’ve expanded to cover Android programming as well (in fact, I’m actually on their Android writing team — here’s the one article I’ve written so far). They’ve published Android programming articles, and now there are two new books:

  • Android Apprentice: If you have prior programming experience — say, with Swift, Java, Python, or JavaScript — this book will help you get up to speed with Android development in short order. You’ll learn by building 4 complete Android apps from scratch:
    • Timefighter: You’ll get started with Android development by creating a game with a simple goal: tap a button as fast as you can, within a set time limit.
    • CheckList: Make a simple TODO app with multiple lists. Along the way, learn about layout managers, activities, saving data, and notifications.
    • PlaceBook: Keep track of your favorite places with photos and maps. Along the way, learn about Google Play services, Room, Google Maps API, and working with photos.
    • PodPlay: You’ll round out the book by building a podcast manager with a built-in media player. You’ll cover Android networking, job scheduling, media browser, notifications, and media playback.
  • Kotlin Apprentice: This one’s written with a couple of audiences in mind:
    • People with no prior programming experience, but who want to learn how to program in Kotlin, presumably in the hopes of taking up Android programming.
    • People who have prior programming experience and are looking to get up-to-speed quickly with Kotlin.

Both books span hundreds of pages — Android Apprentice is 652 pages long, and Kotlin apprentice, which is still in the process of being written, is already 200 pages. Like other RayWenderlich.com books, they sell for $54.99 in PDF form and come with starter and finished code. This may seem expensive, but again, like other RayWenderlich.com books, they’re worth it. Having read a good number of their books, gone through the writing and editing process for an article on the site, and six hours’ worth of presentations and having tech edited one of their upcoming books, I can say that with confidence that they’re worth every penny.

{ 0 comments }

If you’ve even considered doing iOS development, chances are that you’ve heard of RayWenderlich.com (their home page is pictured above). They’re a site with over 1600 programming tutorials to date, a dozen iOS programming books (pictured below)…

…600 video lessons, and a consistently sold-out annual iOS developer tutorial conference. They are the go-to place for new and experienced iOS developers to learn programming languages and techniques for developing apps for the iPhone, iPad, Apple TV, Apple Watch, and even MacOS. When I learned iOS development, I learned it from RayWenderlich.com. It’s a great honor to be invited to join them!

And here’s the article I wrote for them:

That’s right: its title is Augmented Reality in Android with Google’s Face API. Android and Google, not iOS and Apple.

Give the article a look! With a provided “starter” app, it walks you through the process of using Google’s Mobile Vision suite of libraries and its Face API to create Snapchat Filters-like app that draws googly eyes, a pig nose, and a moustache over any face detected by your device’s camera:

If you’ve been reading this blog for a while, you might be surprised that I signed up to join the Android team. After all, here in Tampa, I run this meetup, not the Android one…

I have an app in the App Store, but nothing in Google Play, and most of my recent mobile development articles are about iOS and Swift, not Android and Java. Plus, while I have an Android Phone — a Moto G4 — my primary phone is an iPhone 6S.

So why would I join the Android team, and on a site where fewer than 30 of its 1600+ tutorials are Android tutorials?

Because it’s a move towards a need and my discomfort.

Talk about moving towards your discomfort!

In January, RayWenderlich.com announced that they were looking for a co-maintainer for their open source project, Swift Algorithm Club. I applied for the position (you can see the text of the email I sent them here), but didn’t get it. However, as one of the top four applicants, they offered me the chance to submit an “audition” for some part of their site. The choices included:

  • iOS team: writing tutorials or tech editing them
  • MacOS team: writing tutorials or tech editing them
  • Android team: writing tutorials or tech editing them
  • Video team: making or editing their video courses or screencasts

The “smart” move would’ve been to audition for the iOS team. After all, iOS is their stock in trade, whether it’s on their site, books, videos, podcast, and conference, and the vast majority of their audience is there for the iOS content.

But they’re also expanding their scope to include Android programming, and out of over 1600 tutorials, they currently have fewer than 30 for Android. Android, as clunky and Windows-y as it feels to iOS users, runs on 2 billion monthly active devices as of May 2017 (that’s double Apple’s count in January 2016). It has deep penetration outside the affluent bubble of the First World and even within the First World’s less well-off corners (for one example, check out this article: The Accidental Classism and Unintentional Racism Of iOS Development for Children). And finally, the promotion of the Swift-like programming language Kotlin to first-class status as an Android development language with Android Studio 3.0 made it a more tempting platform for development.

The thought of writing Android tutorials is a little discomforting. I have more iOS programming practice than Android practice, but I’m counting on that discomfort to push me to be better. Comfort is nice, but comfortable people stagnate.

There’s also the matter of “the protegé effect” — I wanted to get better at Android programming, and the best way to learn something is to teach it to someone else. Besides, as a seasoned tech evangelist, I’m an old hand at picking up new technologies and then teaching others how to use them.

This is from a couple of years ago — there are probably more people on the team now.

Ray tells me that they’ve got some great plans for Android on RayWenderlich.com. I’m looking forward to helping bring about those plans, and to the challenges that come with them. Follow me here — or on RayWenderlich.com — and see what happens!

In case you were wondering, Global Nerdy will remain an ongoing concern. I’ll still post articles here regularly; it’s just that I’ll also be posting Android programming tutorials on RayWenderlich.com, and getting paid for them too.

{ 1 comment }

For the benefit of anyone who’s out there who’s trying to apply for a technical communication position, here’s the email I sent in response to RayWenderlich.com’s call for a co-maintainer for their open source project, Swift Algorithm Club. It didn’t land me the position, but it got me the opportunity to audition for their Android team, of which I’m now a member.

I’m Joey deVilla, and I’d like to become a co-maintainer for Swift Algorithm Club! I’m a technology evangelist by day, and rock-and-roll accordion-playing mobile developer and bon vivant by night, as well as a long-time reader of RayWenderlich.com. I think I’d be well-suited for the role, and as proof, I have submitted my answers to the questions you posed in the article calling for co-maintainers.

Why do you want to be a co-maintainer on the Swift Algorithm Club?

I’ll admit it: a big part of my reason for wanting to be a co-maintainer on the Swift Algorithm Club is to be able to say “The first rule of Swift Algorithm Club is…to get ’em as close to O(1) as possible.”

But seriously, I’d like to be a co-maintainer of the Swift Algorithm Club for the following reasons:

  • I’ve been a big fan (see all the references on my tech/programming blog) and beneficiary of RayWenderlich.com over the past few years and have always wanted to join the gang.
  • I’ve been doing tech evangelism since 2000 (you can see my LinkedIn profile here), and in my current position as Technology Evangelist for Smartrac (an RFID company pivoting to an RFID-plus-software-platform kind of company), establishing good relations with the developer community is part of the job. I’d even be able to contribute to Swift Algorithm Club on company time!
  • I like helping out developers, which is why I’m in my line of work. Some evidence: My Stack Overflow profile, where my reputation score puts me in the top 6%.
  • As a tech evangelist, I don’t work directly on code with my company, and they currently don’t do iOS development anyway. Working on Swift Algorithm Club would give me a chance to keep learning, exercise my coding skills, and work with a language I love.

Please tell me a little about your experience with Swift.

Please tell me a little about your experience with algorithms.

The boring stuff: I have a degree in Computer Science from Queen’s University, which is one of Canada’s nicer schools. I learned algorithms and data structures from Dr. Robin Dawes (4.2 rating on RateMyProfessors), and we’ve stayed in touch. I know my depth-first searches from my breadth-firsts, I can pronounce Euler properly (it’s “oiler”), and I know where the word “trie” comes from (retrieval).

I once had to explain to some art students why they couldn’t represent all the possible states of their game using individual QuickTime cells. It was a “Virtual Bubble Wrap” game with 95 bubbles, which meant that it would take 2^95 cells to represent every possible state (for comparison’s sake, the estimated number of photons in the universe is a smaller number: 10^89).
 
The more interesting experience: I am “internet famous” for using P=NP to figure out that I was dating a con artist. The story is on my personal blog under the title What happened to me and the new girl (or: “The girl who cried Webmaster”), and ended up in print in an anthology titled Never Threaten to Eat Your Co-Workers: Best of Blogs.

Please link to any articles/tutorials you have written online.
I’ve been blogging since November 2001, with my personal blog, The Adventures of Accordion Guy in the 21st Century. I started my personal tech blog, Global Nerdy, in August 2006, and since then have written over 3,000 posts which have acquired over 8.6 million pageviews.

Here’s a small sampling of what I’ve written:

I should also mention that while working at Microsoft as the Windows Phone evangelist (the second-hard evangelism job in mobile), I had a short-lived children’s show, complete with puppet co-host. Here’s the first episode:

Please link to your GitHub account page.

I’ll admit that it’s not as fat as I would like, but here it is: https://github.com/AccordionGuy

If you have any questions or need additional information about me and my qualifications, please feel free to contact me!

{ Comments on this entry are closed }

RayWenderlich.com’s iOS development video tutorials

by Joey deVilla on February 12, 2014

ray wenderlich tutorial videos

Click the image to see the video on its page.

RayWenderlich.com has long been home to some of the best iOS development tutorials out there. They regularly publish tutorials that you can read online for free (here’s a categorized list), as well as more in-depth ebooks such as The iOS Apprentice, which they sell at very reasonable prices, especially considering the depth to which they cover their topics. If you’re serious about iOS development, and especially if you’re just getting started, you should visit RayWenderlich.com regularly.

In response to readers’ requests, RayWenderlich.com is introducing video tutorials. These videos focus on a particular iOS or Objective-C development topic, dive deep into it, end with some kind of hands-on challenge (and provide a solution), and are generally run about 15 minutes. The first video tutorials will cover the basics, such as:

  • Core concepts
  • Data types
  • Foundation
  • Storyboards
  • Auto Layout

As time goes on, they’ll add other topics, such as OpenGL, iCloud, Sprite Kit, networking, GCD (Grand Central Dispatch), Mac programming, in-app purchases, Unity, and even Android. In the intro video, Ray says that even if you’ve been doing iOS development for a while, you should watch these videos, as there’s a good chance that you’ll learn something new, and even if you don’t, it’s always good to brush up on the material, as there’s just so much.

In order to give people a taste of what these videos — which are currently “in beta” — are like, they’ve made these four viewable for free:

In keeping with RayWenderlich.com’s tradition of providing good tutorials at a decent price, you’ll eventually need to sign up for a video tutorial subscription for $19/month. As a reward for early birds, you can lock in a rate right now for $15/month. Having read much of the site and purchased The iOS Apprentice and iOS by Tutorials, I believe that the tutorials will give you, the iOS developer, a lot of bang for the buck.

 

{ 0 comments }

RayWenderlich.com’s job interview article series

by Joey deVilla on November 15, 2013

job interview

RayWenderlich.com, one of my go-to sites for iOS development, recently published a series of articles on resumes and job interviews. While they’re writing primarily for iOS developers, most of the advice they give applies to developers of all stripes. Check ’em out:

i has the dumb

If you’ve just come from a job interview and didn’t think it went well, you can console yourself by reading about a recent job interview of mine that I blew six ways from Sunday. It’s covered in this article, with this follow-up.

{ 0 comments }

weather app

Whether you’re new to iOS programming or a long-timer, RayWenderlich.com is a valuable resource for the iOS developer. They regularly publish tutorials, tips, tricks and other goodies that you’d be crazy to do without if you’re serious about writing apps for iDevices. In addition to articles on the site, they go deeper with their books, which are excellent.

RayWenderlich.com recently published an article titled AFNetworking Crash Course, which covers how to write networking apps using AFNetworking, a library created by the folks at Gowalla that simplifies iOS network programming. In this tutorial, you build a weather app that uses AFNetworking to get its data from the World Weather Online service. Check it out; AFNetworking’s useful, and the tutorial’s pretty nice.

In order to reach the widest possible audience, the tutorial was written for iOS 5 and earlier versions of Xcode. If you’re developing with the current version of Xcode and for iOS 6 (which accounted for 83% of all iOS traffic in North America in February), you might want to make a few changes to the code in the tutorial. I’ve listed the changes below:

Use Modern Array Notation

Here’s the old way to get at the element of an array whose index is theIndex in Objective-C:

It’s a little clunky, and as I wrote in an earlier article, Objective-C’s New NSNumber, NSArray and NSDictionary Syntaxes Mean Less “Yak Shaving” for iOS and OS X Developers, there’s a much nicer way to do it:

In AFNetworking Crash Course, where you see code like this:

change it to this:

Use Modern Dictionary Notation

Here’s the old way to get at the item in a dictionary whose key is theKey:

Again: it’s clunky. Also again, in my earlier article, I showed the modern way to access dictionary items:

Setting items for a dictionary used to be like this:

Now, it’s like this:

So, in the places where you see code like:

change it to:

…and where you see code like:

change it to:

Update the Deprecated Location Manager Delegate Method

If you use the code as-is with iOS 6, you’ll get an error message that looks like this:

Deprecated in iOS 6.0
locationManager:didUpdateToLocation:fromLocation:
Tells the delegate that a new location value is available. (Deprecated in iOS 6.0. Use locationManager:didUpdateLocations: instead.)

Instead of using the deprecated locationManager:didUpdateToLocation:fromLocation: method, use the current locationManager:didUpdateLocations: method instead:

{ 0 comments }

If you missed my two-hour tutorial session on ARKit programming at RWDevCon 2018, Getting Started with ARKit, you’re in luck — you can get the video of the session, along with the slides, step-by-step instructions, and starter and finished code for free!

RWDevCon is an annual conference organized by the people behind RayWenderlich.com, the premier site for mobile app development tutorials. Over three days in early April 2018, the conference featured:

  • 4 intensive half-day hands-on workshops, including my in-depth ARKit session,
  • 18 hands-on tutorials, including my “Getting Started with ARKit” tutorial included in the free bundle,
  • Some very moving inspiration talks, and
  • A number of great parties, including one where I got to join the band, James Dempsey and the Breakpoints (who are playing later this year at WWDC)!

My free tutorial, Getting Started with ARKit

Go and download the materials from my tutorial, where you’ll enjoy all sorts of interesting stuff, including gratuitous meme abuse…

…the secret history of augmented reality, including what could be the first literary reference to what would eventually become AR glasses (and written by the author of The Wizard of Oz)…

…what I consider to be some of the best diagrams explaining key ARKit concepts anywhere…

…and a complete walk through the process of building a couple of apps that are both fun to use and show you how to write your own AR apps:

  1. Happy AR Painter, which you can think of as a less expensive version of Google’s Pixel Brush, but with your iPhone or iPad, and
  2. Raykea, my tribute to IKEA Place, which lets you see what stuff from my pretend semi-disposable funny-named furniture catalog would look like in your room.

The RWDevCon 2018 Vault

Part of what you get for RWDevCon’s price of admission is the RWDevCon 2018 Vault, which is the next-best thing to being there. It includes:

  • Four intensive, half-day workshop videos (including my in-depth ARKit session, where I walk you through building four ARKit apps)
  • 18 hands-on tutorial session videos (which includes Getting Started with ARKit)
  • Over 500 MB of complete sample project code for all tutorial sessions and workshops
  • Over 500 pages of conference instructional workbooks in PDF format

If you didn’t attend RWDevCon 2018 but still want the bundle, you can buy it. Better yet, for a limited time, you can buy it for half price — $99.99 instead of $199.99! (And in case you were wondering, I don’t make any money from sales of the Vault.)

Feeling lucky?

RayWenderlich.com is giving away three copies of the RWDevCon 2018 Vault to three lucky people! Enter the draw by going to this article on their site and leave a comment. On Friday, May 18, they’ll pick three random commenters and give them a free copy of the Vault.

{ 0 comments }