So sánh lập trình ứng dụng Android và IOS

27-10-2020 11:02

Khi bạn bắt tay vào xây dựng ứng dụng đầu tiên của mình, thì một nửa thành công nằm ở việc lựa chọn đúng nền tảng để phát triển. Giữa lập trình ứng dụng Android và iOS, bạn chọn cái nào? Hãy cùng ITPLus so sánh 2 nền tảng này nhé:

1. Giới thiệu

Vào đầu năm 2017, cả iOS và Android đã trở thành 2 nền tảng chiếm lĩnh thị phần với 96% trên toàn cầu. Giờ đây, các bạn sẽ chỉ còn 2 lựa chọn duy nhất khi muốn theo nghiệp lập trình mobile là: lập trình Android hoặc lập trình iOS 

2. Về môi trường phát triển

Bạn sẽ cần thiết bị iOS và android như iPhone, iPad, android phone…, PC hoặc laptop. Nếu bạn chỉ có ý định học tập nghiên cứu thì PC/laptop với IDE và SDK là đủ, nếu có ý định phát triển app và đưa lên store thì bạn phải có mobile device.

1. Apple và Apple

Nếu muốn lập trình cho iOS bạn phải có máy Mac. IDE cho lập trình iOS là Xcode cùng với SDK và simulator chỉ chạy trên máy Mac, cho đến tháng 4-2011 thì chỉ có mỗi thứ này là có thể dùng để lập trình trên iOS, sau này có thêm AppCode của JetBrains nhưng mà nó cũng chỉ chạy trên Mac

2. Android và nhiều OS

bạn có thể lập trình Android trên Windows, MacOS hoặc Linux. Việc dễ nhất để bắt đầu lập trình Android là download Android Development Tools, IDE cho lập trình Android bạn có thể chọn Eclipse hoặc Intelij Idea của Jet Brains. Intelij Idea bản commmunity là quá đủ để lập trình android.

3. Hiều về Platform

a, iOS – Cổ xưa hơn bạn nghĩ

iOS là một platform hoàn thiện, nó được dựa trên hệ thống NeXTStep của những năm 90 thế kỷ trước (Nếu bạn biết về iOS API bạn có thể nhận thấy có rất nhiều class có tên bắt đầu bằng NS). Platform NeXTStep sau đó phát triển thành Mac OS, iOS là một phiên bản rút gọn của Mac OS. iOS được phát triển nhanh và liên tục có những version mới, API cũng thay đổi theo từng version.

b, Android – đang đi đến đích

Bản alpha release của Android xuất hiện năm 2007, các giao diện của nó đã trải qua khá nhiều biến đổi cho đến ngày nay. Các phiên bản alpha đầu tiên được lấy cảm hứng từ một phần của Blackberry, các phiên bản sau giống hơn với iOS. Android 3.0 dường như được lấy cảm hứng từ Windows Metro với rất nhiều không gian đen/trắng góc cạnh. Android 3.0 cũng bỏ đi 4 nút điều hướng cứng mà thay vào đó là 4 nút mềm trên màn hình cảm ứng. Các phiên bản của Android đã có những cải tiến quan trọng, điều này đặt gánh nặng lên các lập trình viên, muốn tận dụng được phần cứng và trải nghiệm mới cho người dùng phần mềm phải được cập nhật liên tục.

4. Về phần cứng

a, iPhone 

iPhone ban đầu được tung ra với CPU ARM 412MHz, 128MB RAM và 4GB bộ nhớ flash và cho đến gần đây iPhone 5 với Dual core 1.3GHz Apple A6 CPU, 1GB RAM và 16GB bộ nhớ tối thiểu flash. Khi lập trình iOS bạn phải nhớ rằng bộ nhớ không phải là vấn đề, bạn có thể mở nhất nhiều view trong phần mềm của bạn và chúng sẽ chiếm bộ nhớ kể cả lúc không hiện ra, khi bộ nhớ đầy, hệ điều hành sẽ tự dọn dẹp khi đầy để tránh việc rò rỉ bộ nhớ.

Một GPU hỗ trợ OpenGL đã mặt định trong iPhone, có nghĩa là hình ảnh động có thể tận dụng lợi thế của OpenGL. Đó là lý do tại sao hình ảnh động trên iPhone luôn mượt mà và trơn tru.

b, Android phone

Các yêu cầu ban đầu cho các thiết bị Android trong năm 2008 như sau: CPU 200MHz, RAM 32MB và 32MB bộ nhớ flash. Yêu cầu tối thiểu cho Android 3.0 và cao hơn là CPU 1GHz, RAM 256MB và 512MB bộ nhớ flash. Mặc dù yêu cầu phần cứng tăng đáng kể, Android vẫn cư xử như những hạn chế bộ nhớ từ năm 2008. Nó giới hạn số lượng dữ liệu, trong đó các ứng dụng có thể giữ trong bộ nhớ. Khi một view không được hiện, Android sẽ deallocate tất cả các yếu tố giao diện người dùng của view đó khỏi bộ nhớ. Tiếp theo khi view được hiển thị, các yếu tố giao diện được tái tạo lại một lần nữa, lúc này các lập trình viên phải viết code để lưu trữ các trạng thái giao điện để nó còn được thể hiện ở các lần sau đó. OpenGL không phải là một yêu cầu phần cứng ngay từ đầu, các hình ảnh động trên các thiết bị Android được render bằng CPU làm cho hình ảnh thể hiện không được mượt mà bằng iOS.

 

------------------------------------------------

Tham khảo thêm các khóa học lập trình của ITPlus Academy tại:

Lập trình nhúng với FPT SOFTWARE

trình Python & Odoo Framework với IziSolution

Khóa học thiết kế và lập trình web - PHP chuyên nghiệp

Lập trình ứng dụng di động Android

Khóa học lập trình Python

Khóa học Trí tuệ nhân tạo - Học máy cơ bản và ứng dụng

                                                                                                                                                                             Ban Truyền thông ITPlus Academy

Bài viết cùng chủ đề