[JAVA] Become an iOS engineer

iOS app finally becomes engineering plastic

It's been 10 years since the introduction of the iPhone in smartphone application development, but in the enterprise world, many people may feel that projects are about to begin. There may have been B2B type projects before, but until now, I think that a company specializing in it had received orders from customers and developed them (or escaped with Web view). However, due to the increasing prosperity of the cloud, our work is steadily decreasing (diversifying), and we are beginning to be told by our company that we should actively promote smartphone apps. Whether you are frustrated or interested in it, why don't you start it while you are motivated for the New Year? It's only been two weeks since I started, but I'll make a note of what I felt. And finally, I've summarized how existing skill sets can help you when you're new to Swift.

Things to prepare

Mac You will eventually need a Mac to develop iOS apps. ** It's true that there are multi-platform development methods such as ionic2 and Xamarin **, but don't do it because you often learn too much or get hooked on developing with JavaScript. Xamarin is a development environment that can be called Microsoft, but to put it simply, it is a wrap implementation of Objective-C and Swift, so there is a lot to remember. Even people who say that they call C # normally should stop it. ** If you're writing an iOS app, it's XCode 9 and Swift 4 in modern times **. There are many types of Macs, but I think any Mac currently on the market will do. A large screen is better for comfortable operation such as StoryBoard, but any external display can be used.

iPad or iPhone Xcode has an emulator, but you'll want to get it running right away. If you don't have one, buy one. ** I don't know the startup time and scrolling performance when I run it on the emulator on Mac **, so it is very important to run it on the actual machine.

Developer License (Apple Developer Program)

** Still good **. Please suppress your motivation. ** Let's acquire the implementation ability first before knowing what is necessary for application **. If you really have something you want to publish, join the paid program.

Books

Making an iPhone app that starts seriously This is a good book that describes the know-how of making apps written by Yahoo's app developers. The reason I felt good was that this is not the first book, but the ** series, and because it supports Xcode 9.x / Swift 4.x **. It's tough for programming beginners, but it's easy to accept for anyone who has written C # or Java so far. So, ** Don't buy old books at Book Off just because it's cheap. ** ** Also, there are textbook-like things on the net, but let's write them down first. Probably because ** it is visible that the sample code that was originally written while copying and applying sutras is tired and runs into copy and paste **. At that point your iPhone app development learning is the end. I will start over from the first visit.

Summary

You may hear a voice saying, "Is it all together?", But rather than writing the language and points of application development poorly, "Making an iPhone application that starts seriously ”And move your hands, I think you're glad you started developing iOS apps from Swift **. However, I think it is a fact that the starting position differs depending on the person, so the existing skills that I found useful in Swift learning are listed below.

Useful existing skills

Object-oriented cultivated in Java and C

Inheritance, Throw, etc. are also Swift. If you already know, the story is very fast. Since programming using classes will also be required, ** experience with statically typed languages is important **.

Functional programming learned in JavaScript

Functional programming can be found here and there. If you don't know, it may be a little tough. Last year I wrote "Article" that says there are stairs in programming, so please read this area.

IDE development learned from Lotus Notes development

In Notes, you can hook events at various times when displaying the screen. And it will be described for each event while making full use of the IDE. There are plenty of options for screen and field properties that you can learn a lot. Development using Xcode has some similarities, so I felt déjà vu as I proceeded with the development.

Millionaire skills that have continued to buy iPhones and iPads

The continuity of writing iOS devices for the last 10 years is useful when using various methods. And above all, it should be irreplaceable for anyone to know the history of UX of the iPhone itself when creating an iOS app. I think it is quite difficult for people who do not have an iOS device to create an iOS app, so I think it is better to purchase it as soon as possible.

Recommended Posts

Become an iOS engineer
iOS engineer starts Android development
Let's summarize the Java 8 grammar from the perspective of an iOS engineer
Try creating an iOS library with CocoaPods
28th day of an engineer who will become a full-fledged person in 100 days