07/09/2018, 23:55

Tôi muốn lập trình iOS: Tôi nên bắt đầu từ đâu?

Học lập trình iOS là một quá trình hai chiều. Nếu bạn vẫn chưa biết gì về code, bạn có thể tìm thấy nhiều tài liệu ở đây . Nếu bạn đã thành thạo code, bạn sẽ cần phải làm quen với các công cụ lập trình và các hướng dẫn của Apple. Vì Apple được biết đến trong việc hạn chế các ứng dụng ...

Học lập trình iOS là một quá trình hai chiều. Nếu bạn vẫn chưa biết gì về code, bạn có thể tìm thấy nhiều tài liệu ở đây. Nếu bạn đã thành thạo code, bạn sẽ cần phải làm quen với các công cụ lập trình và các hướng dẫn của Apple. Vì Apple được biết đến trong việc hạn chế các ứng dụng cho tất cả các loại, vì vậy bạn nên biết trước những điều có thể và không thể làm được trước khi bắt đầu.

Bài viết sẽ không hướng dẫn bạn toàn bộ quá trình làm 1 ứng dụng vì sẽ có rất nhiều thông tin. Tuy nhiên, bài viết sẽ giúp bạn làm quen với môi trường coding, hướng bạn đến các chỉ dẫn của Apple và đưa 1 số nguồn để học những ngôn ngữ khác của Apple.

Từ thắc mắc của độc giả, trang lifehacker đã tổng hợp 4 đề mục chính dành cho các dev iOS mới bắt đầu.

1. Xcode, Swift, iOS SDK

Apple’s IDE (Môi trường phát triển tích hợp) dành cho các Mac và app iOS là Xcode. Xcode là giao diện đồ họa được dùng để viết apps, đi kèm với tất cả những thứ bạn cần để viết code cho iOS 8 với ngôn ngữ Swift.

Tuy Apple thúc đẩy ngôn ngữ Swift rất mạnh mẽ gần đây, bạn có thể lập trình iOS theo bất kì ngôn ngữ nào, bao gồm Objective – C. Dưới đây là 1 số hướng dẫn bạn có thể bắt đầu tìm hiểu:

  • Start Developing iOS Apps Today: Đây là hướng dẫn bắt đầu chính thức của Apple. Nó sẽ giúp bạn đi từ bước thiết lập Xcode, cấu trúc app, thực hiện mọi thứ và đưa app lên App Store.
  • Introducing Swift: Swift được tạo nên đặc biệt dành cho iOS và Macs, dễ dàng sử dụng và lập trình hơn nếu bạn hoàn toàn chưa biết gì về lập trình iOS. Swift hoạt động tương tự như Objective-C
  • Apple’s Development Videos: Apple có rất nhiều videos từ hội nghị WWDC để hướng dẫn bạn các phần khác nhau của lập rình. Đây là nguồn quý giá để học hỏi các mẹo trong ngành và tiếp cận các công cụ cơ bản
  • Ray Wenderlich’s Tutorials: Đây là những hướng dẫn tuyệt vời dành cho các bạn muốn làm game – 1 app năng suất. Tác giả cũng đề cập đến rất nhiều kiến thức bên ngoài như Swift và Objective-C
  • Apple’s API Capabilities: Apple có rất nhiều APIs khác nhau để tiếp cận các phần mở rộng của apps, Touch ID, Photos, HealthKit… Làm quen với các API này sẽ giúp bạn tích hợp được nhiều tính năng hiện đại hơn cho app.
  • Code School’s iOS App Development class: Các lớp học giới thiệu miễn phí của Code School là nền tảng bạn nên nắm bắt về lập trình iOS
  • Stanford’s iOS Development Classes: trường ĐH Stanford thiết kế các lớp miễn phí học iOS, chỉ có sẵn cho iOS 7.

Lưu ý: Bạn có thể tải miễn phí từ trang web của Apple. Nhưng Xcode chỉ có sẵn cho Mac nên nếu bạn dự định làm apps iOS, bạn cần khởi chạy OS X.

ide-techtalk

2. Apple’s App Store Review Guidelines

Apple’s App Store Review Guidelines thực sự là một nguồn thông tin chi tiết đáng kinh ngạc. Vì Apple có quan điểm cụ thể về những apps được cho phép trên store, nên bạn cần tìm hiểu nguyên tắc của Apple trước khi làm app, hạn chế tốn thời gian vô ích.

Khi kết thúc quá trình làm app, bạn sẽ submit app lên App Store và app sẽ xem xét dựa trên nội dung, thiết kế và các chi tiết kĩ thuật. Vì vậy, hãy bắt đầu đọc từ trang Review Guidelines và Apple cũng liệt kê những nguyên nhân phổ biến khiến app bị từ chối ở đây như: crash, link hỏng, quảng cáo, thông tin không phù hợp… cũng như các nội dung người lớn hoặc chính trị.

Tương tự, nhiều API của Apple cũng có những guidelines review riêng, nên nếu bạn định tích hợp app với HealthKit hoặc Apple Pay, bạn nên tìm hiểu 1 số nội dung sau:

  • Apple Pay Guidelines
  • App Extensions
  • HealthKit
  • HomeKit

Các dev nên ghi nhớ rằng Apple có khuynh hướng thận trọng với quá trình kiểm duyệt app. Vì vậy, bạn nên chú ý nếu đang lập trình app nào đó có nguy cơ rủi ro cao, để tránh bị từ chối.

3. Apple’s Design Guidelines

Ngoài Apple’s review guidelines, Apple còn cung cấp bộ hướng dẫn về thiết kế và giao diện. Apple muốn tất cả app trong store đều đạt được tính thống nhất nhất định. Tuy điều này không đồng nghĩa với việc có 1 thiết kế tốt thì các hướng dẫn của Apple cũng sử dụng những yếu tố UI căn bản giống nhau.

Đầu tiên, các dev nên ngó qua trang Apple’s Human Interface Guidelines. Bạn sẽ tìm được những kiến thức cơ bản trong cả apps và thiết kế icon, bên cạnh danh sách Do’s và Don’ts, chắt lọc và biến hệ thống kiến thức đồ sộ trở nên dễ hiểu hơn.

Apple cũng cung cấp các nguồn dữ liệu giúp bạn lập trình được 1 app có thiết kế đẹp:

  • Designing Great Apps: bộ sưu tập 1 số bài nói chuyện hay nhất về thiết kế từ sự kiện WWDC
  • Designing a User Interface: tập hợp hướng dẫn dành cho thiết kế các giao diện trong iOS 8 sử dụng các công cụ built-in của Xcode.

Các nguồn online khác:

  • Trang THETHR
  • Trang lifehacker

4. Đăng kí tài khoản GitHub và TestFlight

Nếu bạn không phải là dạng người tài năng, bạn có thể không muốn làm app 1 cách vô ích. Thay vào đó, bạn nên nhờ người khác xem xét code của mình và mời các tester beta để thử app.

Github là chuyên gia trong việc tạo phiên bản phần mềm và làm việc cộng tác. Khi đăng kí tài khoản trên Github, bạn sẽ dễ dàng link Xcode vào nó, tất cả những gì bạn làm sẽ được lưu lại và những người khác trong team có thể tiếp cận được.

Tương tự, thực hiện kiểm tra beta trong iOS 8 cũng rất dễ dàng. Sử dụng TestFlight, bạn đơn giản là mời người dùng đến với team của bạn, để họ kiểm tra app. Lúc này, người dùng sẽ chỉ cần tải app Testflight.

Lập trình cho iOS gói gọn toàn bộ trong việc làm quen với Xcode. Khi đã thông thạo, bạn có thể viết app với nhiều ngôn ngữ đa dạng hoặc thử học ngôn ngữ Swift. Khi đã thực sự lập trình, bạn cần phải đào sâu các câu trả lời cho những câu hỏi chuyên sâu hơn, nhưng nhìn chung, các công cụ ở 4 phần trên (Xcode, Swift, iOS SDK, Apple’s App Store Review Guidelines, Apple’s Design Guidelines, GitHub vàTestFlight) sẽ giúp bạn đi đúng hướng trong quá trình tìm hiểu về iOS.

ide-techtalk

Techtalk via IDE Academy via lifehacker

0