Skip links

Có nên học lập trình di động ?

Bài viết này sẽ cho các bạn một cái nhìn tổng quan về các thành phần quan trọng & phổ biến trong một ứng dụng mobile, từ đó ta có thể xác định được những kiến thức cần tìm hiểu để có thể viết được một ứng dụng mobile khi mới bắt đầu.

Lập trình mobile & lập trình Window Form

Nếu bạn đã có những hiểu biết ban đầu về lập trình mobile có thể bỏ qua phần này. Vậy thì, lập trình mobile thật chất là lập trình cái gì ? đơn giản là bạn sẽ viết code để tạo ra ứng dụng mà người dùng có thể tương tác được & nó chạy trên điện thoại di động người dùng.

Như cách bạn đã từng lập trình để xuất kết quả hoặc lấy input từ màn hình Console những ngày đầu học một ngôn ngữ lập trình, hoặc kéo thả các thành phần giao diện để tạo ra ứng dụng Win Form chạy trên Windows, thì bây giờ, cũng vậy bạn sẽ kéo thả các thành phần giao diện để tạo ra ứng dụng chạy trên điện thoại di động!

Ứng dụng HelloWorld trên lập trình Console, Lập trình Win Form & Lập trình mobile

Để tạo ra ứng dụng Console hoặc Window Form bạn sẽ dùng công cụ lập trình Visual Studio, còn để tạo ra ứng dụng trên điện thoại Android, bạn sẽ dùng Android Studio & để tạo ra ứng dụng trên điện thoại iPhone, bạn sẽ dùng công cụ lập trình XCode.

Xcode chỉ có thể chạy trên hệ điều hành MacOS, trong khi Android Studio có thể cài đặt trên cả máy tính chạy Window & MacOS.

5 năm trở lại đây, khi các ứng dụng có thể hoạt động trên smart phone & người dùng có thể sử dụng ở bất kỳ nơi đâu, thì các ứng dụng trên Window, thậm chí là các ứng dụng Web đã dần trở nên lỗi thời do không đáp ứng được nhu cầu về tốc độ & sự linh động. Nhu cầu tuyển dụng về lập trình Windows & web do vậy cũng giảm theo xu hướng, trong khi nhu cầu về lập trình di động ngày một tăng cao.

Trang bị cho mình kỹ năng & kinh nghiệm lập trình di động & chọn cho mình một công ty tập trung vào mảng lập trình di động sẽ là lợi thế cho con đường phát triển sự nghiệp cho các bạn sau này.

Các thành phần trong một ứng dụng Mobile

Tùy theo loại ứng dụng sẽ quyết định các thành phần quan trọng trong một ứng dụng mobile & độ phức tạp cũng tăng dần theo từng loại ứng dụng

Loại 1: App không sử dụng Cơ sở dữ liệu

Đây là loại đơn giản nhất, ứng dụng chỉ bao gồm các thành phần giao diện để xử lý các tương tác của người dùng mà không dùng đến bất kỳ một cơ sở dữ liệu nào. Có thể kể đến các loại ứng dụng như : Caculator (ứng dụng tính toán như máy tính Casio), Clock (ứng dụng xem giờ…), hoặc các ứng dụng Game cực kỳ đơn giản.

Ứng dụng không sử dụng bất kỳ một cơ sở dữ liệu nào

Thành phần giao diện (UI) dùng để hiển thị thông tin & nhận Input từ người dùng

Thành phần Code xử lý logic bao gồm các mã lệnh xử lý, tính toán dựa trên các Input của người dùng để cho ra Output thông qua các thành phần giao diện.

Để lập trình loại ứng dụng ở loại này, bạn cần nắm được kiến thức về các thành phần giao diện trên Android & iOS, cách sử dụng mà đơn giản chỉ là kéo thả Button, Label, Text, TextInput … trên Android Studio hoặc Xcode.

Khái niệm về Activity trên Android & khái niệm ViewController trên iOS là hai thứ bạn cần nắm rõ để lập trình loại ứng dụng này & các loại ứng dụng ở các loại khó hơn sau này.

Loại 2: App sử dụng Cơ sở dữ liệu tại Local

Ở loại này, ứng dụng sẽ sử dụng cơ sở dữ liệu (thường là nhỏ) để lưu trữ thông tin cho việc tính toán hoặc hiển thị sau mỗi lần tắt & mở lại app của người dùng, cơ sở dữ liệu này lưu trữ bên trong app (Local), nếu người dùng xóa app trên điện thoại, thì cơ sở dữ liệu này cũng sẽ bị xóa theo.

Ứng dụng sử dụng cơ sở dữ liệu Local

Một số cơ sở dữ liệu thường được dùng trong thành phần Cơ sở dữ liệu ở hình trên bao gồm: Shared Preference trên Android, hoặc NSUserDefault trên iOS,  SQLite, JSON file.

Shared Preference hoặc NSUserDefault quản lý dữ liệu theo key-value tương tự như kiểu dữ liệu Dictionary trên C# hoặc HashMap trên Java, việc sử dụng chúng cực kỳ đơn giản & bạn chỉ cần tìm hiểu 2 kiểu dữ liệu trên là biết cách sử dụng.

Với SQLite, bạn cần có một chút kiến thức về kiểu dữ liệu quan hệ (Relational Database) gồm các khái niệm tổ chức về Table, Row, Column, & câu lệnh truy vấn SQL.

Với JSON, bạn cần nắm về cấu trúc định dạng dữ liệu theo kiểu JSON, chúng có rất ít cú pháp do vậy rất dể nắm bắt chỉ với 5s Google.

Do đây là các cơ sở dữ liệu được thiết kế mang tính linh hoạt, dể sử dụng, nên chúng thường dùng trong các trường hợp lưu trữ một lượng dữ liệu nhỏ , ít quan trọng & có thể tái tạo lại được nếu bị xóa bởi người dùng

Loại 3: App sử dụng Web service & cơ sở dữ liệu tại Server

Đây là loại ứng dụng thường được triển khai tại Labian Labs & các công ty phát triển các ứng dụng có độ phức tạp cao, đáp ứng cho hàng tỉ người dùng như Facebook… Ở loại này này, cơ sở dữ liệu được lưu trữ trên một máy chủ & được truy cập từ xa bởi ứng dụng thông qua các Web service hoạt động 24/24. Đừng choáng ngợp, các thành phần này sẽ được giải thích ngay bên dưới.

Trong mô hình trên, thành phần giao diện (UI) & thành phần code xử lý logic tương tự như ở loại 1 & 2.

Tuy nhiên, một số dữ liệu quan trọng cần được bảo vệ & yêu cầu vẫn được lữu trữ ngay cả khi người dùng xóa ứng dụng (vd như hình ảnh, post bạn đăng trên Facebook, nếu xóa app Facebook, thì cài lại bạn vẫn thấy những hình đã đăng trước đó), do vậy cơ sở dữ liệu không lưu tại Local mà chúng được lưu trữ trên 1 máy tính khác gọi là Server (máy chủ).

Việc truy cập đọc thông tin từ các cơ sở dữ liệu này sẽ thông qua các hàm xử lý nằm trên máy chủ, các hàm xử lý này còn được gọi là các Web service.

Lưu ý rằng, trong mô hình này, mốt số Code xử lý logic còn có thể được di chuyển lên máy chủ dưới dạng các Web service để tối ưu tốc độ xử lý cho ứng dụng & đảm bảo các vấn đề vể bảo mật.

Lập trình mobile loại này bạn cần nắm được các khái niệm về Web service, cách gọi hàm các Web service, cách nhận dữ liệu trả về từ Web service…

Nếu bạn cũng tham gia vào phát triển các Web service,  bạn cần nắm thêm ngôn ngữ lập trình Web service (Php, Asp.net, python…), chuẩn Web service RESTfull & các cơ sở dữ liệu trên máy chủ thường là SQL Server, MySQL, MongoDB…

Nên bắt đầu từ đâu ?

Hãy bắt đầu từ loại 1, nắm rõ các thành phần giao diện, làm quen với lập trình di động Android hoặc iOS, sau đó bạn có thể tìm hiểu các kiến thức liên quan đến Web service & Cơ sở dữ liệu trước khi qua phát triển các ứng dụng loại 2 & loại 3.

Hãy cùng tìm hiểu cách thức chúng tôi đã sử dụng Web service như thế nào trong bài tiếp theo “Web service trong ứng dụng mobile”

  1. priligy buy online
    Permalink
  2. new york times hydroxychloroquine
    Permalink
  3. hydroxychloroquine in canada for humans
    Permalink
  4. azithromycin chlamydia 2 pills
    Permalink
  5. hydroxychloroquine 200mg side effects
    Permalink
  6. dapoxetine prices
    Permalink
  7. clomid versus letrozole
    Permalink
  8. prednisone 1 mg tablet
    Permalink
  9. stromectol cost
    Permalink
  10. what is dapoxetine
    Permalink
  11. ivermectin dose for scabies adults
    Permalink
  12. generic sildigra citrate reviews
    Permalink
  13. chewable sildenafil pills
    Permalink
  14. priligy for sale
    Permalink
  15. sildenafil pfizer 100mg
    Permalink
  16. amoxicillin 500mg capsule buy online
    Permalink
  17. low cost tadalafil 20mg
    Permalink
  18. cipro hc otic suspension coupon
    Permalink
  19. ampicillin sulbactam brand name
    Permalink
  20. ivermecta trihydrate
    Permalink
  21. tamoxifen side effects for men
    Permalink
  22. buy plaquenil online uk next day delivery
    Permalink
  23. tadalafil dosage strengths
    Permalink
  24. acyclovir fda package insert
    Permalink
  25. stromectol for e coli
    Permalink
  26. eating before taking viagra
    Permalink
  27. sterapred 875
    Permalink
  28. bactrim ds dosing cellulitis
    Permalink
  29. hydroxychloroquine effects on the heart
    Permalink
  30. stromectol 12mg price
    Permalink
  31. ivermectin egg withdrawal
    Permalink
  32. cialist the yeloow pill
    Permalink
  33. ivermectin
    Permalink
  34. ivermectin for roundworms in humans
    Permalink
  35. stromectol roundworm male
    Permalink
  36. warnings for cephalexin hcl
    Permalink
  37. ivermect capsule
    Permalink
  38. what does ivermectin kill
    Permalink
  39. vidalista recommended dosage
    Permalink
  40. ivermectina mg
    Permalink
  41. ivermectin walgreens
    Permalink
  42. hydroxychloroquine maker
    Permalink
  43. clomid side effects after ovulation
    Permalink
  44. ivermectin pills instruction
    Permalink
  45. generic cialis soft
    Permalink
  46. ivermectin pills for lice
    Permalink
  47. side effects for ivermectin
    Permalink
  48. ivermectin dosage for heartworm treatment
    Permalink
  49. where can i find viagra
    Permalink
  50. average price of 100mg viagra
    Permalink
  51. sildenafil 20 mg dosage
    Permalink
  52. best viagra tablet price in india
    Permalink
  53. rx meds online usa
    Permalink
  54. prescription cost for cialis
    Permalink
  55. fish hydroxychloroquine for sale
    Permalink

Comments are closed.