Về các kiến trúc trong lập trình mobile - vozForums
vozForums
Go Back   vozForums > Học tập và công việc > Ngành CNTT > Phát triển Phần mềm
Reply
 
Thread Tools
  #1  
Old 29-10-2019, 16:38
nmd nmd is offline
Senior Member
 
Join Date: 08-2007
Posts: 1,896
Về các kiến trúc trong lập trình mobile

Mấy hôm nay mình đang ngâm cứu và cố gắng hiểu mấy cái mô hình kiến trúc (MVP, MVVM...) cho các dự án của mobile. Nói thật là đọc mãi vẫn chưa hiểu. Và cảm giác như là nó sinh ra nhiều code quá. Làm phức tạp thêm.
Riết rồi đang rối. Cảm thấy cứ làm kiểu bình thường còn dễ hơn.
Reply With Quote
  #2  
Old 31-10-2019, 17:29
choimin's Avatar
choimin choimin is offline
Junior Member
 
Join Date: 03-2014
Posts: 27
Re: Về các kiến trúc trong lập trình mobile

Cái này e đồng ý với thím, từ hồi biết code đến bây h thấy mỗi cái DAO là ok nhất, còn đâu cứ tay bo
Reply With Quote
  #3  
Old 31-10-2019, 18:03
thanhlong9221 thanhlong9221 is offline
Member
 
Join Date: 04-2010
Posts: 38
Re: Về các kiến trúc trong lập trình mobile

Những cái thớt nói còn chưa dc coi là kiến trúc đâu, nó mới là design pattern thôi . Architecture nó còn lớn hơn như vậy, bây giờ nổi nhất là clean architecture với 3 layers (data, domain, presentation). Mấy cái MVP, MVVM,... (thường dùng với passive/dumb view) chỉ là pattern ở presentation layers thôi

Thớt chắc còn ít kinh nghiệm hoặc từng làm những project nhỏ, chưa thấy dc sức mạnh của architecture và design pattern khi áp dụng vào mobile app project. Project dễ scale, dễ maintain, dễ unit test, dễ chia tasks để nhiều người cùng làm trên 1 feature (mỗi người làm 1 layer chẳng hạn), và thậm chí việc follow SOLID principles nó cũng dễ hơn rất nhiều . Đương nhiên là ko có best architecture hay best design pattern, tất cả đều phụ thuộc vào nhu cầu của project.

Thớt đừng nản sớm quá vì chỉ cần hiểu 1 thằng là tự nhiên mấy cái còn lại cũng hiểu ra luôn (tụi nó same same nhau cả)
Reply With Quote
  #4  
Old 01-11-2019, 10:42
Neronoctis's Avatar
Neronoctis Neronoctis is offline
Senior Member
 
Join Date: 02-2015
Posts: 1,534
Re: Về các kiến trúc trong lập trình mobile

Nói thật chứ nếu ông tư duy ko tốt thì tự mình học mấy cái này ko bao giờ vô nổi đâu (tôi biết vì tôi cũng vậy ). Cái này phải đi làm 1 project nào đó cho cty rồi mấy ông anh lớn cắt nghĩa ra từng phần cho quen thì mới hiểu nổi
Mà mấy cái này so ra vẫn dễ hiểu hơn thằng clean architecture (3 layer), tôi từng gặp 1 cái rồi đọc éo hiểu gì luôn

Gửi từ Xiaomi Mi A2 Lite bằng vozFApp
Reply With Quote
  #5  
Old 04-11-2019, 21:40
zzchaolegionzz's Avatar
zzchaolegionzz zzchaolegionzz is online now
Senior Member
 
Join Date: 12-2009
Posts: 354
Re: Về các kiến trúc trong lập trình mobile

Nếu nói về kiến trúc application thì mobile so với desktop app có gì khác nhau nhỉ? Bỏ qua khác biệt về library, ngôn ngữ, thì về mặt kiến trúc cũng phải có tầng UI, tầng logic, và tầng data, rồi application làm việc với service cung cấp bởi OS, với network...
Web và mobile thì đều làm qua, desktop app thì chưa, bác nào rành thông não em cái.
Reply With Quote
  #6  
Old 08-11-2019, 14:15
anhsayvimen's Avatar
anhsayvimen anhsayvimen is offline
Senior Member
 
Join Date: 02-2012
Posts: 145
Re: Về các kiến trúc trong lập trình mobile

Quote:
Originally Posted by zzchaolegionzz View Post
Nếu nói về kiến trúc application thì mobile so với desktop app có gì khác nhau nhỉ? Bỏ qua khác biệt về library, ngôn ngữ, thì về mặt kiến trúc cũng phải có tầng UI, tầng logic, và tầng data, rồi application làm việc với service cung cấp bởi OS, với network...
Web và mobile thì đều làm qua, desktop app thì chưa, bác nào rành thông não em cái.
Tất cả các kiến trúc web, mobile, cloud, ... Nói chung là những công nghệ sinh sau đẻ muộn đều vay mượn kiến trúc từ desktop app cả. Desktop app win32/MFC dùng kiến trúc model view - document. Một desktop app cũng gồm 3 phần chính là GUI (front-end), Data processing (back-end) và database management (database. Nhưng độ phức tạp thì desktop app hơn rất nhiều, một phần là do chủ yếu viết bằng C/C++. Một cái source của desktop app có thể lên tới 100 GB. Ứng dụng web, mobile, ... 1 người có thể solo làm được nhưng desktop app thì phải cả 1 tập đoàn và thời gian phát triển được tính bằng vài chục năm
Reply With Quote
  #7  
Old 08-11-2019, 14:59
Nipin Nipin is offline
Senior Member
 
Join Date: 03-2018
Posts: 1,325
Re: Về các kiến trúc trong lập trình mobile

... source của linux kernel cũng chỉ 1GB thôi không hiểu bạn ở trên bói đâu ra 100GB?
hay là tính cả assets.
Reply With Quote
  #8  
Old 08-11-2019, 16:18
anhsayvimen's Avatar
anhsayvimen anhsayvimen is offline
Senior Member
 
Join Date: 02-2012
Posts: 145
Re: Về các kiến trúc trong lập trình mobile

Quote:
Originally Posted by Nipin View Post
... source của linux kernel cũng chỉ 1GB thôi không hiểu bạn ở trên bói đâu ra 100GB?
hay là tính cả assets.
Code OS làm sao so về độ lớn dung lượng với một app desktop được. Linux kernel nó có gì ngoài mấy file boot loader, startup code, task scheduler, ... đâu. Chưa kể mấy dạng custom image hay trong lập trình nhúng gọi là porting để đưa xuống hardware thì nhiều khi còn chỉ vài chục MB , đừng thần thánh cái mã nguồn của OS quá. So với độ phức tạp và khủng của một project desktop app thì code OS chỉ là muỗi. Đã từng có dịp check cái source của một phần mềm CAD cách đây 3 năm đã hơn 70 GB (only source code) chưa tính library và assets.
Reply With Quote
  #9  
Old 08-11-2019, 16:26
Nipin Nipin is offline
Senior Member
 
Join Date: 03-2018
Posts: 1,325
Re: Về các kiến trúc trong lập trình mobile

Quote:
Originally Posted by anhsayvimen View Post
Code OS làm sao so về độ lớn dung lượng với một app desktop được. Linux kernel nó có gì ngoài mấy file boot loader, startup code, task scheduler, ... đâu. Chưa kể mấy dạng custom image hay trong lập trình nhúng gọi là porting để đưa xuống hardware thì nhiều khi còn chỉ vài chục MB , đừng thần thánh cái mã nguồn của OS quá. So với độ phức tạp và khủng của một project desktop app thì code OS chỉ là muỗi. Đã từng có dịp check cái source của một phần mềm CAD cách đây 3 năm đã hơn 70 GB (only source code) chưa tính library và assets.
source code ý cậu ở đây là một project hay tất cả các project kết hợp lại dạng monorepo như google hay m$?

tôi ví dụ cái linux kernel đơn giản là vì có thể dễ search ra, 1GB code của nó là 15 millions line of codes rồi, cậu nói 100GB tức là 1.5 billions lines of code, một project mà có 1.5 billions lines of code nghe ảo diệu vkl :s

p/s: google thử cái project to nhất, ra cái này:
Quote:
Human Genome Project – Human Genome Project is a scientific research project with the aim to determine the sequence of human DNA. The ultimate goal is to map all the genes of the human genome. It is already the largest collaborative project in biology till date. The project started in 1990 and ended in 2003. The project was performed across twenty different universities. The software for analyzing the human genome and map the nucleotide base pairs of DNA took 3300 billion lines of code. In fact, the coding took more time than the actual execution of the project.

Read more at: https://www.freelancinggig.com/blog/...-ever-written/
thật kinh tởm :|
Reply With Quote
  #10  
Old 08-11-2019, 21:52
INTP INTP is offline
Senior Member
 
Join Date: 06-2012
Posts: 2,488
Re: Về các kiến trúc trong lập trình mobile

chỉ có source code mà 70GB , mỗi dòng cho là 70 ký tự thì cũng ra 1 tỷ dòng = 1 nửa toàn bộ code của Google rồi đó.

https://informationisbeautiful.net/v...lines-of-code/

chém gió vkl ra tôi đếch tin
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +7. The time now is 16:41.
Chịu trách nhiệm nội dung: Bạch Thành Trung © 2019 Công ty TNHH Thật Vi Diệu
ĐC tầng 4, số 6-8 Đường D2, Bình Thạnh, Hồ Chí Minh, Việt Nam - SĐT 0981323799 - MST 0313906593
Giấy phép thiết lập MXH số 334/GP-BTTTT, Ký ngày: 19/08/2019