Mobile Programming
Solving Mobile Problems
Production Ready
Handling error cases
localization
widget
libraries
High performance by taking advantage of the mobile hardware(camera.microphone)
截至 2015 年 7 月 有三百萬個 App 在 iOS 和 Android 商店
What are essential mobile programming skills?
Mobile programmers need a solid understanding of object oriented programming and networking (such as working with online APIs).
In the iOS world, iOS programmers need an understanding of a programming paradigm called Model View Controller (MVC).
What are the differences and similarities of mobile programming languages?
iOS 主要用 Objective C 和 Swift, The most used language for existing apps is Objective C . 2014 WWDC 後 , presentation 大多都用 Swift,Udacity 的課也用 Swift,if desired become familiar with Objective C later.
For Android programming, Java is the official language used to develop Android apps. It is possible to develop Android apps with C and C++ using the Android Native Development Kit (NDK) but Google encourages Java for Android development.. In addition, XML is used to develop the visual components of Android apps.
What are important concepts mobile programmers need to know:
會用到很多 mobile device 上沒有的 data,所以需要聯網,This may look like fetching data from a server, Hypertext Transfer Protocol (HTTP), parsing JSON data, calling APIs methods and saving this data in local databases. In other words, networking! 現在的 App 都這樣拉
Standards for Design Patterns- Phones, tablets, and wearables have become the the vehicle for intuitive user experiences. Learning the design patterns taught in Apple’s and Google’s documentation is of high importance. If an app is confusing, chances are that the user will not give it the time you expect.
What kinds of tools do mobile programmers use?
For iOS programming, the only integrated development environment (IDE) used for native apps is called Xcode, which is only available on Apple computers. It comes with an extremely fast simulator which simulates all iOS devices released in the last 4 or 5 years. It is also used for watchOS and tvOS devices as well. There are countless tools that are available in Xcode to simulate certain situations a user may experience, and to diagnose and monitor device performance.
Android Studio is the official IDE for developing Android applications. It is available to be used on Windows and Macs. The Android Studio has similar features, including performance monitoring tools, support for building Android Wear apps, tools to catch version compatibility problems. In addition, there is built-in support for using the Google Cloud Platform and integration with Google Cloud Messaging.
講觀念(graphical interface 與 back end logic)
You’ve learned how a graphical interface (HTML/CSS) connects with actual code (Python). Mobile development is similar because the graphical interface (XML) connects with the back end logic (written in Java for Android, Swift for iOS).
While the coding language is new, the paradigms are the same -- Java and Swift have functions, variables, data types, loops, conditional statements, and classes like within the Python programming language.
與後端接 API,authorization 和 authentication (認證機制)
特別提到 Marketing 的廣告投放
Android 的 code 可能為了解決不同 device,function 會有點不同