Điện thoại

Cùng tìm hiểu việc hiển thị và cách viết ứng dụng trên iPhone 6

Cùng tìm hiểu việc hiển thị và cách viết ứng dụng trên iPhone 6

Tính ổn định trên các sản phẩm Apple, trong đó có cả việc hạn chế thay đổi kích thước màn hình gần như đã ăn sâu vào suy nghĩ của người dùng. Mặc dù iPhone màn hình lớn là nhu cầu tất yếu hiện nay, tuy nhiên nếu màn hình được kéo dãn, trong khi ứng dụng không được mở rộng (mình muốn nói là “mở rộng” chứ không phải “kéo dãn”) thì sẽ gây ra sự khó chịu lớn hơn là thoải mái cho người dùng.  Việc người dùng iPhone 5/5s phải chơi game với kích thước của iPhone 4/4s, còn 2 đầu màn hình tối đen, hoặc người dùng máy tính bảng Android phải lướt Facebook với ô comment kéo dài từ cạnh này sang cạnh kia là những minh chứng rõ nhất cho sự bất tiện này.

Đã nằm trong tính toán…

Trong lịch sử 7 năm của iPhone, dòng điện thoại này đã có 3 lần thay đổi kích cỡ màn hình với 5 độ phân giải khác nhau. Có vẻ khá nhiều nhưng chẳng đáng kể gì so với hàng trăng kích cỡ màn hình khác nhau của các thiết bị Android.

Phiên bản iPhone đầu tiên có độ phân giải 320×480 và khi lên Retina thì thành 640×960 – gấp đôi độ phân giải cũ. Các lập trình viên chỉ cần tăng gấp đôi điểm ảnh (pixel) trong các ứng dụng hiện có là có thể tối ưu trên màn hình Retina mà không tốn quá nhiều thời gian để thiết kế lại.

Khi Apple phát hành iPhone 5, tức là màn hình 4 inch nhưng giữ nguyên chiều ngang, họ đơn giản chỉ bổ sung thêm vài pixel cho màn hình dọc, hoặc một vài ứng dụng sẽ được thiết kế lại để tận dụng lợi thế màn hình dài. Các ứng dụng chưa được tối ưu cho màn hình 4 inch sẽ vẫn chạy tốt với 2 đường viền đen ở trên và dưới của màn hình.

Còn với 2 chiếc iPhone mới, iPhone 6 có độ phân giải 750x1334, tức tỉ lệ ngang/dọc = 0,5622, iPhone 6 Plus có độ phân giải 1080x1920 tức tỉ lệ 0,5625, đều khác so với tỉ lệ 0,5634 trên iPhone 5s. Có thể tưởng tượng, nếu như nhà phát triển chưa cập nhật ứng dụng của mình, ứng dụng đó sẽ chạy trên iPhone 6 với các viền đen ở xung quanh cả 4 phía, nhưng nó sẽ giữ nguyên được tỉ lệ ngang/dọc chứ không bị kéo dãn một cách ép buộc như tình trạng mà các ứng dụng trên Android thường gặp hiện nay.

Còn nếu tỉ mỉ thiết kế để tận dụng hết màn hình này thì sẽ cực kỳ khó khăn cho các nhà phát triển, thậm chí có thể làm chững lại sự phát triển của kho ứng dụng App Store.

Và đó là lúc công cụ Auto Layout phát huy tác dụng. Kỹ thuật “giao diện tự động” (Auto-Layout) được cài sẵn trong bộ công cụ Xcode 5 của Apple khi họ giới thiệu iPhone 5. Kỹ thuật này cho phép lập trình viên bố trí giao diện của phần mềm bằng cách mô tả quan hệ toán học giữa các thành phần trong ứng dụng, sau đó Auto Layout sẽ tạo ra các giao diện để thích hợp thay đổi mỗi khi nó được sử dụng trên một thiết bị nào đó, hoặc khi bạn xoay màn hình, thay đổi ngôn ngữ,…

Ngoài ra, đúng như Tim Cook từng nói về việc làm ra điện thoại màn hình lớn, iPhone 6 và 6 Plus của Apple không đơn thuần chỉ là một chiếc iPhone 5s được phóng to như cách mà cách hãng điện thoại Android làm hiện nay.

Chạm 2 lần vào Touch ID để kích hoạt chế độ sử dụng 1 tay trên iPhone mới

Một minh chính tiêu biểu cho điều này chính là giao diện có nét “lai” giữa iPhone và iPad nhằm tận dụng tối đa màn hình lớn của bộ đôi sản phẩm mới. Và Apple cũng đã bổ sung tính năng Chạm 2 lần vào nút Touch ID để mở chế độ dùng 1 tay.

Swift

Một yếu tố khác cũng không thể không nhắc tới, đó chính là Swift. Swift là ngôn ngữ lập trình mới chỉ vừa được giới thiệu tại hội nghị cho lập trình viên của Apple - WWDC 2014 hồi tháng 6 vừa qua và được cho là hoàn hảo nhất cho lập trình viên ứng dụng di động hiện nay.

Với các ngôn ngữ lập trình bậc cao, các dòng lệnh sau khi được gõ ra cũng chẳng có ý nghĩa gì với CPU của máy, lập trình viên cần cho chúng qua một quá trình gọi là “biên dịch” (complie), những dòng lệnh trên sẽ được chuyển sang “ngôn ngữ máy” để CPU  có thể hiểu và thực hiện. Complie cũng là quá trình giúp nhà phát triển kiểm tra xem những dòng lệnh mình viết có đúng theo ý muốn, và liệu có lỗi không.

Để viết được một phần mềm hoàn hảo, người viết sẽ phải trải qua quá trình biên dịch – sửa lỗi – biên dịch – sửa lõi -…liên tục đến khi không phát hiện ra lỗi, điều đó khiến quá trình viết ứng dụng trở nên khá chậm chạp.

Đó chính là lý do mà người ta muốn chuyển sang các ngôn ngữ lập trình dạng script. Bạn có thể chạy các đoạn mã script vừa viết ra ngay lập tức, kiểm tra kết quả, phát hiện lỗi của dòng lệnh mà không cần qua quá trình biên dịch tổng thể phức tạp. Điều đó giúp quá trình viết ứng dụng trở nên nhanh và dễ dàng, nhưng điểm hạn chế của scipt là chúng không thể thực hiện các tác vụ phức tạp và can thiệp sâu vào phần cứng để tối ưu hiệu năng như các ngôn ngữ dạng complie thông thường kia. Trong khi đó, tối ưu hiệu năng phần cứng là một trong những yếu tố chính làm nên thành công của các thiết bị Apple.

Swift được cho là kết hợp toàn bộ ưu điểm của các dạng ngôn ngữ lập trình nói trên, so với Objective-C mà Apple vẫn sử dụng hiện nay, Swift có các dòng code khá ngắn gọn, thậm chí rút xuống chỉ còn 1/3; các dòng lệnh được biên dịch theo thời gian thực giúp việc sửa lỗi được dễ dàng và đặc biệt là sức ép phần cứng được giảm thiểu, tác dụng dễ nhận thấy nhất là chúng ta có thể trải nghiệm những game đồ họa cao trong một phần cứng cũ kỹ.

Ngôn ngữ lập trình tiên tiến sẽ giúp việc tạo nên các ứng dụng có thể trở nên thú vị hơn với các nhà phát triển, và chúng ta sẽ có nhiều hơn các ứng dụng chất lượng với đồ họa đẹp mắt và khả năng chạy mượt mà. Nó cũng giúp việc tùy biến để phù hợp với các kích cỡ màn hình là một điều vô cùng dễ dàng.

Đọc thêm: iPhone 6 Plus và những đối thủ chính trong cuộc chiến Phablet