Tháng trước, Apple cho ra mắt phiên bản 7 của Xcode (một môi trường phát triển tích hợp (IDE)) tại hội nghị World Wide Developers. Những điểm nổi bật của phiên bản mới này bao gồm:

  • Swift 2
  • Metal cho OS X
  • Hỗ trợ việc triển khai ứng dụng (không có giấy phép) cho các thiết bị iOS

Trong phần dưới đây, chúng tôi sẽ cung cấp một cái nhìn tổng quan về Xcode 7 và nó có thể giúp cho việc phát triển ứng dụng iPhone của bạn như thế nào.

Những lợi ích khi lập trình trong Xcode 7

Như đã đề cập ở trên, phiên bản Xcode 7 beta đi cùng với việc hỗ trợ Swift 2, mà theo như trang web Apple Developer thì nó sẽ cung cấp các lợi ích sau đây:

  • Nâng cao mô hình xử lý lỗi bằng cách sử dụng cú pháp try / catch / throw giúp cảm thấy tự nhiên hơn trong Swift.
  • Kiểm tra tính sẵn sàng và các điều kiện của các phiên bản hệ điều hành.
  • Cho phép comment với cú pháp markdown để hiển thị như văn bản dạng rich text cùng khả năng nhúng cả hình ảnh và các đường link.
  • Một bộ migrator trong Xcode 7 để chuyển đổi code Swift đang tồn tại của bạn sang sử dụng cú pháp và những tính năng mới trong Swift 2.0

Xcode 7 và Storyboards

Storyboards có những khiếm khuyết của nó, nhưng có một số ưu điểm trong việc sử dụng chúng (trong so sánh với các file XIB) khi nói đến lập trình iOS.

Storyboard là một công cụ quản lý tuyệt vời dành cho các lập trình viên, bởi vì nó mang lại cho bạn một cái nhìn tổng quan về toàn bộ luồng xử lý của dự án đó và cho phép bạn kiểm soát sự tương tác giữa các controller khác nhau. Không chỉ có vậy, mà nó cũng cung cấp một workspace ‘sạch hơn’ bởi vì bạn không phải sử dụng nhiều controller với một tập tin nib cho mỗi controller đó. Điều này là do sự có sẵn của các Segue (làm mượt luồng xử lý giữa mỗi scene trên board) và cũng là bộ chứa của tất cả những scene đó.

Nếu một lập trình viên đang phát triển một ứng dụng chạy trên nhiều thiết bị của Apple, anh ta có thể sử dụng hai storyboard, một cho iPad và một cho iPhone. Điều này cũng sẽ giúp ‘giảm’ phần code mà lập trình viên đó phải chuyển từ một screen này sang một screen khác. Vậy thì giờ đây Xcode 7 có gì cải tiến ở chỗ này?

sideloading-xcode-7

Về cơ bản, đã có một cuộc tranh luận lớn nhằm chống lại việc sử dụng các storyboard trong những ứng dụng phức tạp có khuynh hướng có quá nhiều scene, mà kết thúc là một storyboard đồ sộ không những khó hiểu (bởi vì kích thước của nó), mà việc load nó lên cũng rất lâu.

Tuy nhiên, thực tế của vấn đề là bạn có thể dễ dàng chia các storyboard thành nhiều phần nhỏ hơn. Một khi bạn làm điều đó, bạn có thể sử dụng các tính năng như ‘Storyboard References’ để liên kết tất cả chúng lại với nhau. Đây là một tính năng rất hay mà Xcode 7 cung cấp, tính năng Storyboard References chỉ có trong Xcode 7/iOS 9+.

Một lần nữa, điều này có thể không bắt buộc bạn phải chuyển sang sử dụng các storyboard trong lập trình iOS, nhưng Xcode 7 cung cấp cho bạn nhiều cách làm hiệu quả và thiết thực hơn nếu bạn chọn sử dụng nó.

‘Sideloading’

Với tất cả những lợi ích mà Xcode 7 mang lại cho các nhà phát triển, có một ưu điểm lớn đang được các phương tiện truyền thông liên tục nhắc đến, đó là: ‘sideloading’.

Sideloading là một thuật ngữ phổ biến thường được sử dụng trong ngữ cảnh của các ứng dụng Android. Khái niệm này rất dễ hiểu; nó đề cập đến khả năng của người dùng trong việc cài đặt các ứng dụng không sử dụng một giấy phép chính thức. Điều này rất dễ dàng thực hiện trên các thiết bị Android, nơi bạn đơn giản chỉ cần chọn vào checkbox “Allow installation of non-Market applications”. Một pop-up sẽ hiện ra để cảnh báo bạn về những rủi ro tiềm ẩn đi cùng với các ứng dụng sideload đó, nhưng nó là một quá trình rất dễ thực hiện.

Nhưng tại sao nhiều người lại muốn có khả năng sideload? Apple được biết đến với những tiêu chuẩn chất lượng cao trong mọi thứ mà công ty này cung cấp tới các khách hàng của họ, bao gồm cả các ứng dụng. Các ứng dụng đặc trưng trên kho ứng dụng của Apple Inc đều đã được kiểm thử khắt khe, để loại bỏ nhiều lỗi và một số vấn đề khác, do đó người dùng sẽ có những ứng dụng tốt nhất để sử dụng. Đây cũng là lý do tại sao Apple tụt lại phía sau Google về số lượng các ứng dụng trên kho ứng dụng chính thức của họ.

Từ góc nhìn của các nhà phát triển, sideloading cho phép lập trình và kiểm thử các ứng dụng ở phiên bản beta, và kiểm thử chúng trên các thiết bị di động của họ. Cuối cùng, sideloading có thể giúp bạn nâng cao trải nghiệm trong việc sử dụng chiếc điện thoại thông minh của mình, miễn là bạn không sử dụng nó cho mục đích vi phạm bản quyền.

Tuy nhiên, không có hại gì trong việc truy cập vào những kho ứng dụng khác cả, và Xcode 7 đã hỗ trợ cho điều đó. Giờ đây bạn có thể tải về hầu như bất kỳ ứng dụng nào mà bạn muốn bên ngoài App Store trên iPhone hoặc iPad của bạn. Ví dụ, các emulator không được phép có mặt trên App Store, nhưng đây nó không còn là một vấn đề với IDE này nữa.

Tất nhiên là có một vài hạn chế, rõ ràng nhất trong số đó là một thực tế rằng nếu bạn không có mã nguồn của một ứng dụng thì bạn không thể tải nó về từ các nguồn khác. Điều này đặc biệt đúng đối với các ứng dụng trả phí. Vì vậy nó không giống như bạn có thể tải về bất kỳ ứng dụng nào mà bạn muốn sử dụng; khái niệm ‘sideloading’ này không hoàn toàn tương tự như bên Android.

Nhưng dù vậy đi nữa thì nó cũng mang lại cho cộng đồng jailbreak một cơ hội để chạy nhiều ứng dụng hơn bên ngoài App Store, điều mà cuối cùng được phân tích là chỉ giúp ích cho các nhà phát triển mới.

Tuy nhiên, các nhà phát triển vẫn được hưởng lợi, bởi vì việc sử dụng Xcode 7 để phát triển ứng dụng không yêu cầu họ phải đăng ký tham gia vào chương trình Developer Program của Apple, nơi mà họ sẽ phải tốn phí $99 đô-la mỗi năm.

Tất cả bạn cần làm để xây dựng các ứng dụng và chạy chúng trên các thiết bị của Apple là tải về Xcode 7 beta và đăng nhập bằng Apple ID của bạn.

Những lợi ích khác

  • Playgrounds được cập nhật nhiều chức năng hơn và hỗ trợ các tập tin ‘.swift’ mang lại tốc độ xử lý nhanh hơn.
  • Interface Builder đi kèm với tất cả các tính năng mới nhất của iOS, ví dụ như Stack views tự động bổ sung thêm các ràng buộc cần thiết, làm cho nó dễ dàng hơn để layout các view của bạn.
  • User Interface Testing đảm bảo rằng những thay đổi mà nhà phát triển tạo ra trong code sẽ không được hiển thị như là những thay đổi không mong muốn đến người sử dụng.
  • Tính năng hiển thị các icon để cho biết phần code nào đang được kiểm thử và phần code nào thì không.
  • Hỗ trợ Metal là tin tức tuyệt vời dành cho các nhà phát triển game trên iOS và Mac.
  • Tính năng Address Sanitizer thông báo cho bạn về các lỗi và những lời than phiền của người dùng một cách kịp thời để bạn có thể xử lý nhanh chóng.
  • Tính năng TestFlight cho phép bạn phát hiện và giải quyết những crash thậm chí trong cả phiên bản thử nghiệm beta.
  • Cuối cùng, Energy Gauge cho bạn biết có bao nhiêu pin đang được sử dụng để cấp nguồn cho ứng dụng của bạn.

Theo TechMaster.vn