, August 01, 2021

0 kết quả được tìm thấy

Có gì mới trong WWDC 2021 đối với các lập trình viên IOS?

  • Đăng bởi  Kieu Hoa
  •  Jul 02, 2021

  •   8 min reads
Có gì mới trong WWDC 2021 đối với các lập trình viên IOS?

Hãy nhìn vào những bản cập nhật framework IOS 15 từ sự kiện Platforms State of the Union

Tuần lễ WWDC 2021 của Apple cuối cùng cũng diễn ra. Đối với những người mới sử dụng, bài thuyết trình Keynote (tóm lược) đặc biệt tập trung vào các bản cập nhật phần mềm lấy user làm trung tâm. Vì vậy, tôi sẽ không đề cập đến các tính năng công nghệ của iOS 15, iPadOS, macOS 12, watchOS 8, v.v., trong bài viết này.

Thay vào đó, tôi sẽ tổng hợp nhanh sự kiện Platforms State of the Union. Phiên SOTU theo sau keynote và hướng đến lập trình viên hơn.

Các kỹ sư iOS muốn nắm bắt những thay đổi mới nhất của API cũng như những tiến bộ của framework và muốn tìm hiểu sâu hơn về các công cụ, luôn mong đợi sự kiện State of the Union hơn là keynote.

Flutter là gì? Các đặc tính vượt trội của Flutter 2021
Flutter là gì? Flutter là một framework giao diện người dùng mã nguồn mở miễn phí cho phép bạn tạo một ứng dụng di động chỉ với một lần code

1. WWDC: Xcode 13 đã có CI / CD và quy trình review code

Việc phát triển IDE, Xcode 13 của Apple có thể có bản cập nhật lớn nhất trong năm nay.

Hiện chúng ta có Xcode Cloud, một dịch vụ tích hợp và triển khai liên tục (CI) tập trung vào quyền riêng tư do Apple phát triển và được lưu trữ trên cơ sở hạ tầng đám mây (cloud infrastructure) của họ.

Vì vậy, bạn không cần phải dựa vào dịch vụ của bên thứ ba để thiết lập quy trình công việc và kết nối App Store Connect. Xcode Cloud trừu tượng hoá toàn bộ quá trình triển khai và code-signing cho bạn trong chính IDE.

Thêm vào đó, Xcode Cloud làm cho việc unit test trở nên thú vị hơn bằng cách tạo ảnh chụp màn hình giả lập của tất cả các quy trình công việc XCTests trong chế độ xem thư viện. Ngoài ra, với sự ra đời của TestFlight trên Mac, bạn có thể nhanh chóng biết được sự cố app thông qua việc truy tìm nơi xảy ra vấn đề.

Cuối cùng, Xcode cũng mang đến review code trực tiếp trong trình chỉnh sửa cho phép user thêm comment và tạo các pull request, do đó cải thiện sự hợp tác và giao tiếp của team.

WWDC: Xcode 13 đã có CI / CD và quy trình review code
Screengrab từ sự kiện State of the Unions

2. WWDC: Tính đồng thời (Concurrency) trong Swift

Kể từ ngày async / await được thêm vào Swift 5.5, tính năng này đã được các lập trình viên iOS rất mong đợi.

Mặc dù chúng ta không nhận bản cập nhật mới cho framework Combine của Apple trong năm nay (có thể trong tương lai?). Tin vui là Apple đã cho chúng ta một cái nhìn tổng quan về async / await, và concurrency giúp nhiều tác vụ chạy một cách dễ dàng.

Cụ thể, SOTU session giới thiệu cách thay thế các handler lồng nhau bằng các cấu trúc async / await và việc sử dụng các Actors để loại bỏ các mối nguy hiểm của DispatchQueue. Nó cũng cung cấp một cái nhìn sơ lược về @MainActor để chạy các hoạt động UI trên main thread.

Sẽ rất thú vị khi xem async / await hoạt động như thế nào với SwiftUI và CoreData. Chúng ta đã có một session (buổi chia sẻ) về nó.

3. WWDC: Các tính năng mới trong SwiftUI 3.0

SwiftUI, framework khai báo của Apple, cung cấp cách nhanh nhất và dễ dàng nhất để xây dựng giao diện user trong các ứng dụng của chúng ta hiện nay.

Với iOS 15, SwiftUI hiện bổ sung những công cụ thiếu xót (missing control) và thêm nhiều tùy chỉnh hơn. Dưới đây là những điểm nổi bật:

  • refreshable – một callback để xử lý các sự kiện pull-to-refresh trong Danh sách Swift
  • swipeAction – công cụ sửa đổi để thêm các hành động custom button vào SwiftUI List rows
  • searchable – một công cụ sửa đổi để thêm trường tìm kiếm (search field) vào danh sách. Trường tìm kiếm này cũng hỗ trợ suggestion.
  • AccessibilityRepresentation – để thêm các điều khiển có thể tiếp cận tiêu chuẩn trong các SwiftUI Controls tùy chỉnh
  • materials – một loại cấu trúc để thêm các phần tử nền vào chế độ xem SwiftUI của bạn và tùy chỉnh chúng
  • Hỗ trợ Markdown trong AttributeString
  • Enum-power ListStyle
  • API tiêu điểm mới cho responders TextField
  • AsyncImage để tải không đồng bộ hình ảnh SwiftUI từ URL.

Với các widget xuất hiện trên màn hình chính cho iPadOS 15, WidgetKit, được viết bằng SwiftUI, mang đến một kích thước lớn hơn nhiều cho WidgetFamilycủa nó.

4. WWDC: Swift Playgrounds trên iPad cho phép bạn viết, xây dựng và gửi các ứng dụng SwiftUI

Swift Playgrounds đã xuất hiện được một thời gian và cung cấp cách thức tuyệt vời để bắt đầu học code Swift.

Swift Playgrounds 4 hiện giới thiệu khả năng viết ứng dụng SwiftUI, có thể xem được kết quả ngay và gửi ứng dụng đến các user thử nghiệm hoặc gửi trực tiếp lên App Store.

Ngoài ra còn có một định dạng gói mới để dễ dàng chuyển dự án Xcode của bạn sang Swift Playgrounds trên iPadOS.

WWDC: Swift Playgrounds trên iPad cho phép bạn viết, xây dựng và gửi các ứng dụng SwiftUI
Screengrab từ sự kiện SOTU

5. WWDC: Machine Learning và Augmented Reality

RealityKit đã được giới thiệu trong iOS 13 để đơn giản hóa các hiệu ứng AR phức tạp.

Với iOS 15, RealityKit 2 mang đến những nâng cấp lớn với những shader tùy chỉnh, điều khiển nhân vật và API playback animation mới. Nhưng tính năng nổi bật là Object Capture API. Về cơ bản, nó cho phép bạn nhanh chóng chuyển đổi các cảnh trong thế giới thực thành các mô hình AR bằng cách xây dựng các đối tượng ảo 3D từ một loạt các hình ảnh 2D với PhotogrammetrySession.

Mặt khác, framework Vision đưa ra hai tính năng mới:

  • Một tính năng nhận dạng người dựa trên theo dõi tư thế đầu.
  • Nhận dạng văn bản trong hình ảnh.

Tạo ML, công cụ train model kéo thả không cần code của Apple, mang đến cho chúng ta hai loại trình phân loại mới để training model. Chúng có thể phân loại cử chỉ hay là hành động tay.

WWDC: Machine Learning và Augmented Reality
Ảnh chụp màn hình của Create ML app Xcode 13

6. WWDC: API thông báo cho user về việc nâng cao chế độ lấy nét (Focus Mode)

iOS 15 giới thiệu một chế độ lấy nét mới. Điều này có nghĩa là user sẽ nhận được thông báo dựa trên thời gian nhất định  họ chọn hoặc hoạt động hiện tại của họ (ngủ, làm việc, tiệc tùng).

Để đảm bảo trải nghiệm user không bị cản trở và thông báo được gửi chính xác, bạn có thể xem các thay đổi trong thông báo của user.

Về cơ bản, chúng ta có một enum UNNotificationInterruptLevel cho phép bạn phân loại thông báo: chủ động, bị động, quan trọng, nhạy cảm về thời gian.

Các thông báo quan trọng sẽ bỏ qua cả chế độ im lặng. Tuy nhiên, bạn cần phải xác định rõ điều này trong quyền cài đặt.

7. WWDC: API riêng tư (privacy): Thời gian sử dụng, Vị trí và SharePlay

Quyền riêng tư luôn là yếu tố quan trọng nhất trong các sự kiện của Apple và năm nay cũng vậy. iOS 15 cũng giới thiệu nhiều cải tiến và các framework Swift mới.

Ví dụ: user có thể xác thực quyền truy cập vị trí thủ công mỗi khi ứng dụng cần. Apple đã giới thiệu một LocationButton độc quyền của SwiftUI để làm việc này và bạn cũng có thể tùy chỉnh nó. Nút tìm nhập vị trí hiện tại mỗi khi user chạm vào:

LocationButton (.currentLocation) {....}

Đối với những người yêu thích UIKit, CLLocationButton thực hiện nhiệm vụ tương tự.

API Screen Time sẽ có trong ba framework Swift:

  • ManagedSettings – cấp hoặc hạn chế quyền truy cập vào các tính năng ứng dụng nhất định. Điều này hoạt động cùng với ManagedSettingsUIđể tùy chỉnh các chế độ xem được bảo vệ.
  • FamilyControls – cung cấp cho user lựa chọn để cấp quyền các ứng dụng / trang web và ngăn trẻ em trong nhà dùng chung thiết bị dẫn đến việc vô tình xóa hay mua thứ gì đó.
  • DeviceActivity giúp bảo vệ quyền riêng tư để theo dõi các sự kiện của ứng dụng web

Với iOS 15, FaceTime cũng giới thiệu tính năng SharePlay để nghe, xem và chia sẻ màn hình trên các cuộc gọi điện video, như Zoom. Tin vui cho chúng ta, Apple đã giới thiệu SharePlay thông qua framework Group Activities.

Group Activities giúp trừu tượng hóa (abstract) tiến trình đồng bộ hóa peer-to-peer session cho bạn, do đó giảm code không cần thiết.

Sự kiện SOTU giới thiệu một cuộc trình diễn thú vị nơi user có thể tham gia và tương tác trên các ứng dụng dựa trên AVPlayer hoặc PencilKit tùy chỉnh. Tất cả những gì nó yêu cầu là cấu hình API GroupSessionMessenger.

Bài viết liên quan

Spotlight Google I/O: Flutter đang hoạt động tại ByteDance

Flutter, một công nghệ mà ByteDance đã sử dụng và có nhiều đóng góp trong vài năm nay, gần đây...

Spotlight Google I/O: Flutter đang hoạt động tại ByteDance
Good News: Windows 11 đang chuyển sang mô hình cập nhập hằng năm

Windows 11 đang chuyển sang mô hình cập nhập hằng năm. Nó có ý nghĩa hơn nhiều so với các bản cập nhập nữa năm một lần....

Good News: Windows 11 đang chuyển sang mô hình cập nhập hằng năm
Flutter web đã chạy ổn định hơn từ Flutter 2.0

Tầm nhìn của chúng tôi đối với Flutter là trở thành một framework UI di động để xây dựng trải nghiệm ứng dụng tuyệt vời trên bất kỳ nền tảng nào. Hôm nay, như một phần của Flutter 2, chúng tôi thông báo rằng Flutter đã hỗ trợ web đạt đến mức ổn định....

Flutter web đã chạy ổn định hơn từ Flutter 2.0
Flutter: Có gì mới trong Flutter 2?

Có rất nhiều điều thú vị trong bản phát hành Flutter 2. Để biết tổng quan về những tính năng mới trên Flutter 2 và Dart 2.12 . Để xem bản thân Flutter 2 có gì mới, hãy tiếp tục đọc!...

Flutter: Có gì mới trong Flutter 2?
Công bố Flutter 2.2 tại Google I/O 2021

Tại Google I/O, Flutter đã công bố Flutter 2.2, bản phát hành mới nhất của họ về toolkit mã nguồn mở để xây dựng các ứng dụng đẹp cho mọi thiết bị từ một nền tảng duy nhất....

Công bố Flutter 2.2 tại Google I/O 2021
You've successfully subscribed to 200Lab Blog
Great! Next, complete checkout for full access to 200Lab Blog
Xin chào mừng bạn đã quay trở lại
OK! Tài khoản của bạn đã kích hoạt thành công.
Success! Your billing info is updated.
Billing info update failed.
Your link has expired.