13 điều lập trình viên trẻ cần nhớ khi xây dựng phần mềm đa hệ điều hành

Linh Le

Programming

Lập trình trên nhiều nền tảng không phải là con đường trải hoa hồng, nhất là khi bạn mới bắt đầu công việc lập trình viên. Những hệ thống vận hành riêng biệt thường có những yêu cầu riêng khi viết code cho chúng, và quá trình kiểm thử xem mọi thứ có vận hành như thế nào khi phần mềm được hoàn thành quả thật là một thách thức.
Nhằm cho thấy tầm quan trọng của một số vấn đề cụ thể có thể xảy ra và giải pháp dành cho chúng, tôi đã phỏng vấn một số nhóm từ 13 doanh nghiệp thông qua YEC câu hỏi sau:

Khi viết phần mềm chạy trên các nền tảng và hệ điều hành khác nhau, đâu là vấn đề mà các lập trình viên non trẻ có thể không biết? Họ nên làm gì để tránh hoặc xử lý vấn đề đó?

Các câu trả lời hay nhất được liệt kê như sau:

1. Khả năng chia sẻ đa nền tảng

Hãy nhớ rằng việc chia sẻ 100 code qua các nền tảng là một mục tiêu gần như bất khả thi. Bạn không thể nào thực hiện dự án đa nền tảng với suy nghĩ rằng code cũng giống như quá trình thụ phấn chéo – tức là 60% code có thể được chia sẻ. Hãy sẵn sàng cho vấn đề này bằng việc phân chia thời gian cho dự án thích hợp và chuẩn bị sẵn nội dung nào có thể chia sẻ và nội dung nào thì không. Hãy bắt tay vào dự án với tâm thế chuẩn bị cho khối lượng công việc gấp đôi. Theo lời Jared Weitz từ tập đoàn United Capital Source Inc.

2. Tạo dựng một hệ thống thiết kế

Duy trì trải nghiệm sử dụng xuyên suốt các nền tảng khác nhau là điều cực kỳ quan trọng để duy trì sự chuyên nghiệp của thương hiệu và sản phẩm của bạn. Một nhà thiết kế có nhiệm vụ to lớn là phải mô hình hóa từng màn hình cho từng nền tảng. Để giữ được tính nhất quán và giảm chu kỳ thiết kế, hãy xây dựng một “hệ thống thiết kế” có khả năng hệ thống hóa việc sử dụng hợp lý màu sắc, font chữ, bố cục, kiểu nút, … – Tony Scherba từ Yeti cho biết

3. Báo cáo bug

Một dự án phần mềm không bao giờ có hồi kết cả. Các lập trình viên trẻ chưa từng thấy qua hàng đống bug liên tục mà chắc chắn sẽ xuất hiện suốt cả vòng đời của phần mềm. Để đối phó với bug và các vấn đề tương thích, hãy tạo nên một giải pháp đơn giản để giúp người dùng tìm ra đường link trong phần giao diện người dùng, từ đó họ sẽ báo cáo bug và yêu cầu các tính năng họ muốn. Công cụ như UserVoice là một công cụ vô giá đối với các công ty chuyên xây dựng các ứng dụng phần mềm. – trích lời Brian Greenberg từ công ty bảo hiểm True Blue Life Insurance

4. Các vấn đề fragment

Các vấn đề về fragment trong các hệ thống vận hành nào đó có thể tạo ra các vấn đề phức tạp và tốn thời gian. Bạn cần hiểu được giới hạn và những điểm phụ thuộc của hệ thống trước khi phát triển phần mềm cho nền tảng đó. Hãy đảm bảo rằng mình đã thực hiện những bước kiểm thử và QA cần thiết khi làm việc với các hệ điều hành phức tạp. – Jordan Edelson từ Appetizer Mobile LLC cho hay.

5. Chọn sai công cụ

Một trong những vấn đề mà các lập trình viên đối mặt là chọn sai công cụ cho công việc của mình. Nếu bạn hỏi một lập trình viên có kinh nghiệm xem họ dùng công cụ nào, thì họ sẽ thường đưa ra câu trả lời rất cụ thể. Khi bạn mới bắt đầu, hãy cân nhắc vấn đề mà bạn đang cố giải quyết và công cụ này có phải là lựa chọn đúng đắn cho task của bạn hay không. – Ý kiến của Blair Williams từ MemberPress

6. Kiểm thử QA

Thông thường, các lập trình viên trẻ hay có suy nghĩ rằng sản phẩm của họ sẽ cần vài cuộc kiểm thử để loại bỏ tất cả các lỗi chương trình, Điều mà họ không lường trước được là một số nhỏ các vấn đề và bug có thể xuất hiện trong quá trình phát triển. QA không phải là thao tác một lần là xong. Bạn cần test sản phẩm của mình liên tục mỗi pha nhằm đảm bảo rằng bạn sẽ cho ra một sản phẩm hoàn thiện không có bug. – Syed Balkhi từ WPBeginner cho hay

7. Xây dựng ứng dụng với quá nhiều “chi tiết động”

Nếu bạn ví phần mềm như một cỗ máy, bạn có thể hình dung rằng một bộ máy càng có nhiều chi tiết động thì nó càng dễ hư hỏng. Ít chi tiết động hơn cũng có nghĩa là ít khả năng bị hư hại hơn. Quy tắc tương tự cũng đúng với phần mềm: Nếu bạn tạo ra quá nhiều tính năng phức tạp thì chúng sẽ dễ bị lỗi trong quá trình hoạt động trên nhiều nền tảng hay hệ thống khác nhau, từ đó tạo nên các xung đột trong ứng dụng. – Trích lời Andy Karuza từ Relm Wellness.

8. Tốc độ

Tùy thuộc vào loại ngôn ngữ code hay bộ công cụ mà bạn dùng cho ứng dụng đa nền tảng, thì một số hệ thống sẽ có thời gian chạy nó dễ hơn so với những hệ thống khác. Hãy chắc chắn là bạn thực hiện các bài kiểm thử tốc độ đúng chuẩn với các nền tảng khác nhau với từng lần build mới và cân nhắc nhờ đến những người tài giỏi khác để tìm ra những khúc mắc có thể gây nên những rắc rối về sau. Bryce Welker, một kế toán viên công chúng (CPA) cho hay.

9. Tính khả dụng

 

Một lập trình viên trẻ có thể đã biết nhu cầu về tính linh động giữa các nền tảng và hệ thống vận hành, nhưng họ có thể bỏ qua tầm quan trọng của tính khả dụng. Chỉ vì phần mềm chạy trên desktop, máy tính bảng và điện thoại thông minh không có nghĩa là người dùng sẽ có cùng kiểu tương tác với nó trên từng thiết bị. Hãy thông minh khi đầu tư thời gian và tài nguyên để dùng các case study nhằm tối ưu hóa tất cả các nền tảng mục tiêu. – Jaime Manteiga từ trang Venkon.us bày tỏ.

10. Duy trì tính nhất quán của thương hiệu

Khi xây dựng phần mềm đa nền tảng thì điều quan trọng là phải duy trì tính nhất quán của thương hiệu. Thông qua việc duy trì một thiết kế xuyên suốt các nền tảng (chẳng hạn như UI, tin nhắn,…), người dùng của bạn có thể tương tác với phần mềm dễ dàng và nhận ra các chi tiết nhanh chóng, từ đó thúc đẩy quá trình làm quen nhanh hơn. – Theo – Stephanie Wells

11. Chọn những công nghệ độc lập định nền tảng

Một vấn đề lớn mà tôi từng gặp là các lập trình viên non trẻ chọn sai công nghệ/framework để xây dựng các ứng dụng độc lập nền tảng. Ví dụ, nếu bạn chuẩn bị xây dựng một sản phẩm di động mà ban đầu sẽ dùng cho thiết bị iOS nhưng bạn biết rằng mình muốn nó hoạt động với thiết bị Android, hãy đảm bảo rằng bạn chọn được ngôn ngữ có thể hỗ trợ cả hai, hoặc ít nhất cho phép chuyển đổi nhanh chóng. – Theo Alex Gonikman từ Truenorth.co

12. Tương thích API

Hiểu được tính tương thích API là một yếu tố quan trọng khi phát triển phần mềm cho các nền tảng khác nhau. Có một kinh nghiệm là luôn dùng Unicode cho các API. Ngày nay hầu hết các nền tảng, trình duyệt đều hỗ trợ Unicode (ví dụ: UTF-8, UTF-16, …). Bạn phải ưu tiên thời gian đọc tài liệu và thử nghiệm để đạt được kết quả như mong đợi. Đừng để những khó khăn ngăn bạn cho ra mắt một sản phẩm tốt. Björn Carlsson từ Monocl chia sẻ

13. Phát triển hướng tới VR và AR

Một trong những quyết định lớn nhất khi phát triển theo hướng thực tế ảo là chọn ra một nền tảng. Bạn có hai quyết định cơ bản: engine và kính thực tế ảo. Với engine, bạn có hai lựa chọn: Unity và Unreal. Khi phát triển kính thực tế ảo, hãy lưu tâm đến chi tiết kỹ thuật và năng lực xử lý cho từng loại kính. Ví dụ, kính hoạt động dựa vào PC có hiệu năng tốt hơn kính VR độc lập. – Lorne Fade từ tập đoàn VR Vision Inc cho hay

Chia sẻ bài viết ngay

Nguồn bài viết : https://thenextweb.com