1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Những khác biệt trong quy trình lập trình Android và iOS

Chủ đề trong 'Cuộc sống' bởi jaybee, 23/08/2016.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. jaybee

    jaybee Thành viên mới

    Tham gia ngày:
    12/04/2016
    Bài viết:
    64
    Đã được thích:
    0
    Đối với những người chưa từng lap trinh Android co ban thì lập trình một ứng dụng trên Android hay iOS trông có vẻ là giống nhau . Nhưng sự thực là 2 hệ điều hành này đều có những đặc thù riêng. Có rất nhiều sự khác biệt như từ cơ sở kỹ thuật cho đến qui trình phát triển ứng dụng.

    Không chỉ ở mức kỹ thuật mà còn ở trong cách thiết kế và chiến lược di động. Nói cách khác , ý tưởng của một ứng dụng sẽ nước phụ thuộc vào hệ điều hành được chọn. Chính vì thế , lập trình viên , những người đang chuyển từ hệ điều hành này sang bên khác , hoặc đang tiếp cận một ngôn ngữ máy khác , sẽ trông đến điều này.



    [​IMG]

    Khác biệt trong quá trình phát triển
    Liến trúc của một project
    Kiến trúc của một project hoc lap trinh iOS là tự do tương đối không bị các nghĩa vụ hoặc trách nhiệm trói buộc trong Xcode , khi mà bạn có xác xuất tạo mới folder và file ở vô luận nơi nào bạn muốn và khởi tạo tham chiếu giữa chúng. Tuy nhiên , sẽ luôn có một đôi qui tắc nhất định ( nếu như icon cho các độ phân giải khác nhau ) mà bạn phải tuân thủ.

    Khi viết một ứng dụng Android , bạn phải làm quen với một kiến trúc chặt hơn. Các qui tắc trong lập trình Android phải được phục tòng cho dù đó là folder , file hay các tài nguyên. Bất kỳ qui trình lập trình ứng dụng Android nào đều sẽ luôn phải chặt chẽ.

    Kiểm thử ứng dụng
    Khâu kiểm thử ứng dụng là một phần chẳng thể thiếu trong quá trình thiết kế ứng dụng di động , na ná như vậy đối với games và các loại ứng dụng khác. Bạn cần phải chắc chắn rằng ứng dụng của bạn hoạt động yên ổn. Hệ giả lập iOS và Android được sử dụng cho mục đích này.

    Sự khác biệt rỏ rành nhất là hệ giả lập iOS hoạt động nhanh hơn của Android. Tuy nhiên , hệ giả lập Android lại có ưu thế về hệ thống giao thông máy ảo với CPU ảo hóa , khiến việc trải nghiệm trở nên thực chất hơn so với iOS. Thức tế thì hệ giả lập iOS thường thất bại trong việc mô phỏng xác thực các thiết bị của Apple.

    Vì lý do này , bạn thường xuyên phải kiểm thử trên thiết bị thật để kiểm tra xác thực các Bản năng , đánh giá đúng các lỗi của ứng dụng.

    [​IMG]

    Ngôn ngữ máy
    [​IMG]

    Sự khác biệt của hệ điều hành đi kèm theo sự khác biệt về ngôn ngữ máy. Đây là sự khác biệt rỏ rành nhất của 2 hệ điều hành: iOS sử dụng tiếng nói Objective - C/ Swift , trong khi lập trình game Android sử dụng Java (tìm hiểu tại http://laptrinhandroid.net.vn/khoa-hoc-android-co-ban-nang-cao-o-ha-noi.html). Tuy nhiên , trong tương lai gần , sự khác biệt này có xác xuất sẽ không còn , vì với việc mã nguồn mở Swift , thì đang có báo cáo ý là Google sẽ sử dụng Swift để lập trình Android.

    Giao diện graphics



    Ở góc cạnh kỹ thuật , lập trình viên sẽ dựng file XML để thiết kế giao diện trên Android , na ná là file XIB của iOS. Tuy nhiên , một lần nữa iOS lại hơn xay dung ung dung Android ở các animation. Google đã cố gắng khắc phục điều này qua bản xem thử của Android L và tạo nên một xu hướng thiết kế mới là Material Design. Trong khi đó thì Apple luôn tập trung vào những animation câu nói mềm mại , mạnh mẽ và rất cẩn trọng trong việc trông đến cảm biết cái đẹp người dùng; Google- ở một góc nhìn khác thì đang giải quyết vấn đề này nhưng hoàn cảnh tối ưu phần cứng mới đang là mục đích chính của họ.

    Nút back
    [​IMG]

    Một sự khác biệt lớn nữa giữa 2 nền tảng đó là nút 'Back' có trong Android nhưng không hiện ra ở trong iOS. Kiểu nút như vậy được dùng để chuyển view trong Android , tuy nhiên trong iOS , lập trình viên phải thiết kế theo hướng khác , đặt thao tác back ở đâu đó trong màn hình.

    Những điểm khác biệt còn lại
    • Delegate và Adapter: iOs sử dụng từ khóa 'delegate' khi ứng dụng delegation pattern trong khi Android là từ 'adapter'. Mặc dù khác nền tảng và từ khóa thể hiện , nhưng đấy đều là những khái niệm chung.
    • UIViewController và Activity: bạn sử dụng clash Activity trong việc lập trình một view cụ thể trên thiết bị Android , còn với iOS , nghề nghiệp này sẽ được gánh vác bởi một controller tên là UIViewController. Nó được dùng để quản lý vòng đời của các sự kiện , các subviews.vv. Cả 2 đều chung một vai trò , mặc dù tên là khac nhau.
    • Tùy chọn và quyền truy cập: Những tác vụ này được quản lý đẹp hơn trên thiết bị iOS , khi mà bạn có xác xuất nhóm chúng lại trên phần setting tổng. Còn với Android , thì thao tác lại cầu kỳ hơn một chút.
    • Bản đồ: bạn có xác xuất sử dụng Apple maps hoặc Google Maps khi lập trình ứng dụng iOS. Tuy nhiên , Google Maps là hoàn cảnh tối ưu hơn và cũng được sử dụng chính trong các ứng dụng Android
    Khác biệt khi tạo ứng dụng
    Khi nói đến việc tạo ra các ứng dụng , sự khác biệt giữa các hệ điều hành không dễ tìm thấy ở khía cạnh kỹ thuật. Việc thiết kế và marketing bị có tác động đến một điều gì đó rõ ràng ở một mức độ rất căn bản. Bạn hãy cùng xem làm thế nào để đối phó với những sự khác biệt này

    Phí tổn
    [​IMG]

    chúng ta đã luận bàn về sự khác biệt trong phí tổn giữa việc tạo ra các ứng dụng dành cho học lập trình Android cơ bản hoặc iOS ở bài viết trước. Trong thực chất , quá trình phát triển iOS là tốn kém hơn một chú - mặc dù sự khác biệt không phải là quan yếu - dựa theo thực tế rằng nhu cầu cho các ứng dụng iOS là thấp hơn so với các ứng dụng Android và chi phí cho các tài nguyên để sẵn của Apple là đắt hơn nhiều.

    Lợi nhuận
    bạn có xác xuất nhận thấy rằng các ứng dụng iOS thường được bán trực tiếp cho người dùng và na ná với các Bản năng bên trong , còn ứng dụng Android thường được tải về miễn phí và được và lập trình viên sẽ kiếm tiền phê duyệt lăng xê nhúng bên trong.

Chia sẻ trang này