Wednesday, March 11, 2015

Hungarian designer studied Apple Swift and create your own application for 4 months

Interface designer from Hungary, Zoltan Hossa told a story about how he was able to "from scratch" to study the programming language Apple Swift and create your own application for Mac 4 months.
learn-2

"I began to study Swift four months ago, when he knew some programming languages. But never did the native applications for any platform. Now I understand that had no idea what I will have to face "- quoted Lookat Hungarian designer.
***
In 2011, my site is great rose. Layout was at DeviantArt, and I anxiously checked the attendance every day. But a little upset. Not because of attendance, and due to the fact that I could not check it quickly. There are two options: either to mess with Google Analytics, or to find a simple application that will help me. I started looking.
But the solutions were either too boring and ugly or not given the necessary data. As a designer, I have drawn a better layout decisions and put it on Dribbble. A couple dozen likes forced me to delve into the topic further. I learned that widgets [for OS X] is essentially an application in HTML and JavaScript, so decided to work seriously because he knew both languages.
A working prototype has started in the control panel in a couple of days. I called him GAget, as an acronym of the widget Google Analytics (Google Analytics widget). Left widget in about two weeks, in August 2011. The number of reviews is staggering: MacStories, SwissMiss, a bunch of smaller blogs recommended GAget. I even wrote about in the Hungarian version of the magazine PC World.
But when Apple released OS X Yosemite and closed Dashcode, GAget expected to be very bleak future. Then I began to read Apple's documentation on what is today called extensions. But they were all on the Objective-C. Ugh! Work with the compiler to look for memory loss and manage multi-threaded processes did not want to. It sounds scary, if you ever do not engage in such. The biggest problem was that I had no idea where to start.
I bought a book about developing for the iPhone Objective-C, but gave up after reading a couple of chapters. To be honest, for someone who is familiar with the languages ​​and fronend-bit with PHP, Objective-C seems too confusing. Look at this code:
What could "i n t e r f a c e"? What is a "p r o p e r t y"? What do the "n o n a t o m i c" and "w e a k"? What the hell are doing here and @ *? I realized that this is the end!
After several weeks of struggle I got closer to the native application. Then remembered that Apple with OS X Yosemite introduced a new programming language Swift. He was new to everyone, so many gurus have started to write about it, discuss why it sucks and how to explore Objective-C before touching Swift. All this noise made me pay attention to him. I downloaded and started to read the documentation.
learn-1
It was like a light breeze. Code began to look familiar, like a little more complex JavaScript. I have run Xcode and began to copy what people have shown in the instructions.
My goal was widget for OS X. But most guides were either on the Swift, or applications for the iPhone. I collected and put a selection of links that are found useful. They can help you and if you start programming for iOS and OS X.
During operation, I learned that a specific deadline approaches can provide a lot of motivation. Every New Year, my wife sit down and make a list of what we want to achieve in the next year. The last time I said that I want to release a new version GAget in late January.It was my deadline approaches. Despite the fact that I got out of it for a month (thanks to the approval process in the App Store and third-party projects), I still intense work in January and struck from the list. Written on a piece of paper, it is a powerful motivator.
I also found out that during the training cycles occur three phases: excitement, struggles and solutions.
  • Phase excitement: all begin with her. There are new ideas, learn new things, it looks promising and I wonder what it will turn on. You are motivated and want to experiment with what you know, but, in the end, reach the limit of knowledge.
  • Phase of the struggle: you encounter the first challenge, excitement and motivation to begin to fall. Have no idea how and what to look for. In desperation, each time looking for the answer to the third page of Google.
  • Phase solutions: finally! You decide nasty problem. Start to run faster again feel excited and motivated. Back to the first phase. Every time when you start, remember that stage of the struggle can be a long and frustrating, but the solution is. Find it - all part of the fun".
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF