Nghề lập trình Mobile yêu cầu nền tảng cơ bản nào?

Thảo luận trong 'Tuyển dụng Công Nghệ Thông Tin HCm, Hà Nội' bắt đầu bởi greyhatseoer, 11 Tháng ba 2016.

  1. greyhatseoer Member

    Facebook: greyhatseoer

    Nền tảng Android

    Android được phát triển dựa trên nhân của Linux nên kế thừa được khả năng quản lý tài nguyên tốt từ hệ thống giao thông này. Toàn bộ các phần mềm được thực thi bởi Dalvik VM , một máy ảo tượng tự như JVM nhưng đã được hoàn cảnh tối ưu cho thiết bị di động. Các phần mềm được phát triển trên một framework mẫn tiệp giúp khai khẩn các tài nguyên của hệ thống giao thông. Hình dưới đây cho thấy bức tranh khái quát về các khối phần mềm trong toàn bộ nền tảng Android.
    [IMG]

    Hình 2: Các khối căn bản trong nền tảng Android

    Điểm đặc biệt đối với các phần mềm học lập trình Android cơ bản là chúng được phát triển trên cùng một cấp , do vậy khái niệm phần mềm hệ thống giao thông và phần mềm thông thường chỉ mang tính chất tự do tương đối. Bất kì một phần mềm hệ thống giao thông căn bản nào ( như phần mềm gọi điện , nhắn , bộ duyệt v.v… ) cũng có khả năng bị thay thế bằng các phần mềm khác tương tự.
    Tiếng nói phát triển và cách thức phiên dịch

    ngôn ngữ máy chính để viết các phần mềm lập trình Android là Java , do vậy nếu bạn có hứng thú phát triển phần mềm cho nền tảng này thì hãy đầu tư thời kì vào Java căn bản trước khi bắt tay vào nghiên cứu nó.
    Các phần mềm Android có khả năng được phân làm hai loại căn cứ vào tiếng nói phát triển và cách thức biên dịch:

    • Phần mềm Dalvik: phần mềm được viết bằng ngôn ngữ máy Java , sử dụng các công cụ trong bộ SDK ( Google ) và JDK ( Oracle ) phiên dịch và đóng gói thành file .apk trước khi cài đặt vào thiết bị. [IMG]
    Hình 4: Quá trình phiên dịch từ mã nguồn Java của loại phần mềm Dalvik

    • Phần mềm Native: bên cạnh sử dụng mã nguồn Java , ta có khả năng sử dụng mã nguồn C/C++ kết hợp để xây dựng phần mềm nhằm hoàn cảnh tối ưu hóa và tăng tốc độ thực thi hoặc khai khẩn các thư viện cấp thấp. Để phiên dịch được phần mềm loại này ngoài bộ SDK bạn phải cần thêm bộ NDK.
    Mặc dù các phần mềm Android được phát triển và phiên dịch phê chuẩn JDK nhưng không phải tất cả mọi thứ trong JDK đều có khả năng sử dụng được. Nhiều người vẫn rất muốn đăng ký học lập trình ios. Dưới đây là hình ảnh biên soạn về API trong JDK và mức độ được sử dụng trong Android:
    Kiến trúc phần mềm

    Phần mềm Android được xây dựng từ nhiều thành phần nông dân có khả năng coi là những viên gạch căn bản trong phần mềm. Những viên gạch này bao gồm nhiều loại có khả năng chia thành ba nhóm căn cứ vào mục đích sử dụng:
    1. Những thành phần nông dân tạo giao diện người dùng: Activity , View/Widget
    2. Những thành phần nông dân cung cấp lao vụ và tích hợp: Service , Broadcast Receiver/Intent.
    3. Những thành phần nông dân cung cấp dữ liệu , tài nguyên và cấu hình của ứng dụng: Content Provider , Resource , ApplicationManifest. [IMG]
    Hình 7: Các thành phần nông dân căn bản trong một phần mềm Android

    1. Những thành phần nông dân tạo giao diện người dùng

    • Activity : đây chính là không gian cửa sổ nơi mà mọi thứ được hiển thị ra. Tuy nhiên trên màn hình nhỏ thì mỗi Activity sẽ chiếm trọn màn hình thiết bị , người dùng có khả năng chuyển di tương hỗ giữa các Activity phê chuẩn thao tác điều hướng. Về mặt kiến trúc Activity tương đương với ViewModel trong kiến trúc MVVM ( Model – View – ViewModel ) rất việc quen thuộc trong các nền tảng lập trình khác như Windows Phone , WPF , JavaFX v.v… Với kiến trúc như vậy mỗi Activity được kết hợp với một Layout diễn tả bố cục và các thành phần nông dân hiển thị trên đó ( các View ). Những mô tả này sử dụng tiếng nói XML và được đặt trong thư mục /res ( xem hình 10 ).
    • View : đây là các thành phần nông dân hiển thị trên Activity như Button , CheckBox v.v… nó được thiết kế theo mô hình Composite giống như tất cả các hệ thống giao thông GUI khác. Lược đồ sau đây thể hiện các lớp căn bản để dựng giao diện trong Android:
    • Widget: về bản chất đây là một ViewGroup , có xác xuất hiển thị trên màn hình Home các thành phần nông dân căn bản trong hệ thống giao thông View. Nhưng sự khác biệt này làm cho màn hình Home của Android trở nên rất sinh động và hữu dụng.
    2. Những thành phần nông dân cung cấp service và tích hợp

    Android cung cấp một loại các thành phần nông dân nghiệp vụ cho phép các nhà phát khai triển thác các Bản năng phần cứng cũng như các service căn bản của hệ thống giao thông để tạo nên những ứng dụng sản vật phong phú. Có xác xuất chỉ ra một số thành phần nông dân căn bản như:
    • Service : lập trình viên có xác xuất khai khẩn các service có sẵn hoặc tạo ra các service chạy ngầm định khác trong hệ thống giao thông. Các service này có xác xuất được truy nhập từ vô luận ứng dụng nào.
    • Broadcast Receiver : đây là thành phần nông dân thú nhận giúp ứng dụng của bạn có xác xuất phản ứng lại với các sự kiện trong hệ thống giao thông hoặc liên tưởng đến việc xử lí một dữ liệu nào đó. Nhờ nó các ứng dụng trong Android tạo nên một môi trường ứng dụng hợp nhất , người dùng thay vì có cảm giác “đang chạy một ứng dụng để làm việc gì đó” sẽ thấy rằng mình “đang làm một việc gì đó trong ngữ cảnh với một ứng dụng phù hợp”.
    • Intent : đây là thành phần nông dân căn bản trong cơ chế quản lý tiếp xúc với nhau của Android , nó cho phép chuyển đổi , truyền và nhận thông điệp giữa các Activity.
    3. Những thành phần nông dân cung cấp dữ liệu , tài nguyên và cấu hình ứng dụng

    • Content Provider : có xác xuất mường tượng Content Provider giống như một database server thu nhỏ cung cấp khả năng lấy cung vào các nguồn dữ liệu khác nhau ( phổ thông là SQLite ) phê duyệt một URI ( nếu như các dữ liệu Contact , Message v.v… ). Kết quả lấy cung của Content Provider luôn trả về đối tượng Cursor ( có xác xuất mường tượng nó như là ResultSet trong JDBC ).
    • Resource : tài nguyên có xác xuất sử dụng trong ứng dụng rất sản vật phong phú bao gồm hình ảnh , thanh âm , văn bản , văn bản nói nhiều ngữ , layout , xml v.v… tất cả chúng nằm trong thư mục /res. Mọi thứ trong /res không đơn giản chỉ là một phần được đóng gói đi cùng ứng dụng mà chúng có xác xuất được thao tác và truy xuất từ trong code một cách dễ dàng ở thời khắc chạy cũng như khi đang biên địch ( phê duyệt một lớp được sinh tự động nhằm hoàn cảnh tối ưu hóa việc truy xuất tài nguyên có tên là R.java ).
    • AndroidManifest.xml : đây là file cấu hình cho mỗi ứng dụng android , nó chứa các báo cáo căn bản của ứng dụng cho hệ điều hành như điểm truy xuất , các quyền hạn , các báo cáo cài đặt , cấu hình v.v…
    [IMG]
    Hình 10: kiến trúc của một Android Project trong Eclipse

    Bắt đầu khám phá


    Bài viết đến đây mới chỉ là sự khởi đầu , ta vừa nhìn xuống “thành phố Android” từ trên máy bay , khi đó ta chỉ cảm nhận được những mảng , khối căn bản mà không thấy chi tiết. Nhưng được tràn đầy hy vọng với từng đó đã giúp bạn định vị được rằng để tiếp kiến cuộc hành trình khám phá “thành phố” này bạn nên bắt đầu từ đâu và như thế nào. Chúc các bạn có một chuyến đi vui vẻ!


  2. Mẹo: Mọi thắc mắc mua hàng bạn có thể hỏi trong ô bình luận Facebook bên dưới.

    Mỗi bình luận đồng thời sẽ up topic lên đầu (Nút up topic màu đỏ chỉ xuất hiện khi tài khoản đã chứng thực).