Bài viết được dịch từ trang web MacWorld

Học lập trình Apple Watch

Tin tức lớn nhất tại hội nghị WWDC năm nay tập trung vào sản phẩm nhỏ nhất của Apple - đó là Apple Watch. Sẽ là quá sớm để công bố một mô hình mới (và trong thời đại của Tim Cook thì WWDC đã dần trở thành một diễn đàn cho việc ra mắt phần cứng) nhưng điều đó không ngăn cản Apple công bố một hệ điều hành mới cho thiết bị đeo (wearable) đầu tiên của họ, watchOS 2, sẽ xuất hiện ở cổ tay người dùng vào mùa thu năm nay.

Có gì mới trong watchOS 2 - và các nhà phát triển có thể làm gì với nó

watchOS 2 mở ra nhiều chức năng lõi của phần cứng, cho phép các nhà phát triển chuyển phần xử lý nghiệp vụ từ một ứng dụng "thông minh" đi kèm với nó trên iPhone về xử lý trên chính Watch. Nền tảng này biến Watch thành một máy tính đeo tay đủ năng lực để thực hiện nhiều tác vụ của riêng nó trước khi kết nối với một chiếc iPhone qua Bluetooth.

watchOS 2 cung cấp cho các nhà phát triển khả năng truy cập vào các thành phần cốt lõi như Digital Crown và microphone. Điều đó nghĩa là bạn có thể viết một ứng dụng ghi chú bằng âm thanh (audio note-taking), dùng để lưu trữ tất cả ghi chú của người dùng khi không sử dụng iPhone và chỉ giải phóng các ghi chú này trong lần kế tiếp khi nó kết nối với iPhone. Đồng thời, vì watchOS 2 mở ra hệ thống âm thanh nội bộ, bạn có thể cho phép người dùng phát lại các ghi chú bằng giọng nói của họ ngay lập tức, hoặc chúng được phát theo lịch trình khi các tác vụ đến hạn.  

Bản cập nhật watchOS là một trong những thông báo lớn nhất tại WWDC 2015.
Bản cập nhật watchOS là một trong những thông báo lớn nhất tại WWDC 2015.

Tính năng Complications - truy cập tới những thành phần của Watch face

ClockKit, là tính năng mới trong phiên bản mới nhất của Xcode, cho phép bạn nhắm đến Watch face với một tính năng gọi là Complications. Đây là những bổ sung nhằm hiển thị thông tin từ các ứng dụng được cài đặt trên Watch hoặc đồng bộ (sync) tới nó. Khi bạn code một complication vào trong ứng dụng của mình, thì người dùng của bạn sẽ không phải chuyển sang ứng dụng đó để xem các thông báo và cập nhật.

Ứng dụng Car-Net của hãng ô tô Volkswagen không chỉ cho phép người dùng khóa xe của họ từ xa và xác định vị trí của nó khi họ quên mất là đã đậu xe ở đâu trong bãi, mà nó cũng theo dõi tình trạng sạc ắc quy của xe hơi điện e-Golf, và hiển thị mức độ đầy của ắc quy xe hơi qua Complication, có hình dạng một logo của hãng Volkswagen với một vòng tròn thể hiện % năng lượng đã xạc được. Bạn có thể vặn núm Digital Crown tiến hoặc lùi để vòng tròn thể hiện mức độ xạc điện biến mất nhưng vẫn thấy thời gian còn lại để sạc đầy là bao lâu, vì vậy bạn sẽ biết liệu mình có đủ năng lượng để hoàn thành một chuyến hành trình theo kế hoạch hay không.

(Nếu bạn đang tự hỏi tại sao Apple lại chọn cái tên là 'Complications' cho những tính năng thông tin quan trọng này, nhưng thực ra nó là một thuật ngữ chuẩn về đồng hồ đã được sử dụng nhiều thế kỷ qua để mô tả những thông tin phụ trên mặt của đồng hồ thông thường như ngày hoặc tuần trăng.)

Hệ thống Car Net của Volkswagen trong Apple Watch, bao gồm một Complication hiển thị mức năng lượng đã xạc được trên mặt đồng hồ.
Hệ thống Car Net của Volkswagen trong Apple Watch,
bao gồm một Complication hiển thị mức năng lượng đã xạc được trên mặt đồng hồ.

Những động cơ thúc đẩy việc viết code cho watchOS

Thật không quá lời khi nói rằng việc mở thêm những tính năng này là tin tức lớn dành cho các nhà phát triển, và nó có quy mô tương tự như quyết định của Apple trong việc phát hành một bộ SDK (Software Development Kit) để phát triển ứng dụng cho iPhone cùng với sự ra đời của iPhone 3 trước đây, lúc đó chỉ có một hướng tiếp cận duy nhất là phát triển các ứng dụng web cho iPhone.  

Nó khiến cho Watch trở thành một nền tảng hấp dẫn hơn để làm việc - đặc biệt là sự cạnh tranh trong thị trường ứng dụng này chưa quá khốc liệt như thị trường dành cho iOS và OS X.

Vậy thì đâu là nơi mà bạn sẽ tìm kiếm nếu bạn muốn bắt đầu con đường phát triển ứng dụng Watch của riêng mình?

Phát triển với Xcode

Xcode là bộ công cụ phát triển cho các nền tảng watchOS, iOS và OS. Bạn có thể tải về phiên bản ổn định mới nhất từ Mac App Store. Các nhà phát triển cũng có thể có được bản beta của phiên bản tiếp theo tại đây. Bạn có thể tham gia nếu đã đăng ký vào chương trình Apple Developer Program, nó là miễn phí nhưng yêu cầu bạn phải có một Apple ID.

Kể từ phiên bản 6, Xcode đã hỗ trợ Swift nhưng chỉ từ các phiên bản beta của Xcode 7 trở đi thì mới hỗ trợ Swift 2.

Ngoài việc giúp bạn thiết kế layout trực quan và viết code cho ứng dụng, Xcode còn kiểm tra các công việc của bạn để tìm lỗi và biên dịch thành file thực thi runtime mà bạn có thể phân phối hoặc bán thông qua App Store hoặc Mac App Store.  

Xcode là môi trường phát triển của Apple để tạo ra các ứng dụng trên iOS, OS X và watchOS.
Xcode là môi trường phát triển của Apple để tạo ra các ứng dụng trên iOS, OS X và watchOS. 

Làm thế nào để học lập trình Swift

Apple giới thiệu Swift tại hội nghị WWDC 2014 như một sự thay thế cho Objective-C, ngôn ngữ cho đến lúc đó vẫn được dùng trong việc phát triển các ứng dụng iOS và OS X. Năm nay, với việc mở rộng thêm các tính năng mới thì Apple cũng ra mắt Swift 2, họ biến ngôn ngữ này trở thành mã nguồn mở và công bố sắp tới sẽ hỗ trợ cho Linux.

Tài liệu giới thiệu về ngôn ngữ Swift tốt nhất chính là tài liệu riêng của chính hãng Apple.

Tài liệu này giả sử rằng bạn không có kiến thức trước đó về ngôn ngữ Swift và nếu bạn đã quen thuộc với các biến thể của ngôn ngữ C thì sẽ rất có ích, nhưng đó không phải là một yêu cầu bắt buộc. Tài liệu sẽ hướng dẫn học qua từng bước đơn giản giới thiệu những tính năng chính của ngôn ngữ này - như là hằng số và biến - vì vậy bạn có thể chia nhỏ và học từng phần một. Điều này khiến cho việc luyện những kỹ năng của bạn dễ dàng hơn rất nhiều. 

Không phải lúc nào bạn cũng thuận lợi để chuyển qua lại giữa một trình duyệt để đọc tài liệu và môi trường lập trình của mình, mặc dù (và bạn không phải lúc nào cũng có thể truy cập internet) vì vậy chúng tôi cũng đề xuất bạn nên tải về cuốn sách miễn phí 521 trang của Apple, có tên là The Swift Programming Language, từ iBooks. Phiên bản sửa đổi gần đây nhất của cuốn sách này đã cập nhật nội dung về Swift 2.

Apple đang tập trung vào Swift cho phát triển ứng dụng, giới thiệu hỗ trợ Linux và làm cho ngôn ngữ này trở thành mã nguồn mở.
Apple đang tập trung vào Swift cho phát triển ứng dụng, giới thiệu hỗ trợ Linux
và làm cho ngôn ngữ này trở thành mã nguồn mở.

Trang web hướng dẫn học Swift

Cách tốt nhất để học một kỹ năng mới thường là xem người khác sử dụng nó như thế nào. Trang web Learn Swift Tips cung cấp một lượng lớn tập hợp các liên kết đến các bài hướng dẫn trực tuyến và các lời khuyên dạng làm-thế-nào (how-to) được chia nhỏ theo khả năng người học. Nó phục vụ cho tất cả mọi người từ người mới bắt đầu cho đến những lập trình viên có kinh nghiệm, và ngoài ra, nó còn trỏ liên kết đến những cuốn sách, thư viện code và các ví dụ mà không chỉ giúp bạn tiết kiệm thời gian mà còn cung cấp các phần code có thể sử dụng được.

Danh sách các tài nguyên trực tuyến chất lượng trên trang Learn Swift Tips là những tài liệu học tập miễn phí tốt nhất.
Danh sách các tài nguyên trực tuyến chất lượng trên trang Learn Swift Tips
là những tài liệu học tập miễn phí tốt nhất.

Bạn hãy duyệt qua danh sách gợi ý về các tài nguyên học Swift của chúng tôi trên trang Macworld này, và hướng dẫn của chúng tôi để phát triển một ứng dụng Swift.

Chúng tôi cũng đã đề xuất một khóa học trên Udemy của tác giả Rob Percival khi làm việc với Swift, và hiện nay anh ta đã tạo ra một chương trình kết hợp có tên là Complete Apple Watch Developer Course. Tính đến nay, khóa học có học phí £30 này đã thu hút được gần 14.300 học viên và được đánh giá chất lượng 5 sao trên 425 nhận xét. Khóa học bao gồm 143 bài giảng khiến cho thời gian chạy tổng cộng số video lên đến 18 giờ và bạn không cần phải có bất kỳ kinh nghiệm lập trình nào trước đó để bắt đầu học.

Cách tiếp cận tốt nhất để viết ứng dụng đầu tiên của mình, nếu bạn chưa có kinh nghiệm trong việc viết code cho iPhone hoặc Mac, đó là hãy học một cách chậm mà chắc. Từng bước nhỏ trong những ngày đầu sẽ giúp bạn củng cố những kiến thức bạn đã học được và hãy bắt tay vào làm một project cá nhân khiêm tốn thôi, chứ đừng lên kế hoạch làm một sản phẩm hoành tráng để bán. Đó thường là cách tốt nhất để mài giũa các kỹ năng của bạn mà không bị chán nản nếu bạn thấy bị quá tải vì công việc này.