vozForums

vozForums (https://forums.voz.vn/index.php)
-   Phát triển Phần mềm (https://forums.voz.vn/forumdisplay.php?f=148)
-   -   Về các kiến trúc trong lập trình mobile (https://forums.voz.vn/showthread.php?t=7657837)

nmd 29-10-2019 16:38

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.

choimin 31-10-2019 17:29

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

thanhlong9221 31-10-2019 18:03

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 :sogood:. 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 :byebye:

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 :sogood:. Đươ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ả) :byebye:

Neronoctis 01-11-2019 10:42

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 :pudency:). 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 :nosebleed:
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:brick:

Gửi từ Xiaomi Mi A2 Lite bằng vozFApp

zzchaolegionzz 04-11-2019 21:40

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.

anhsayvimen 08-11-2019 14:15

Re: Về các kiến trúc trong lập trình mobile
 
Quote:

Originally Posted by zzchaolegionzz (Post 154784301)
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 :D

Nipin 08-11-2019 14:59

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.

anhsayvimen 08-11-2019 16:18

Re: Về các kiến trúc trong lập trình mobile
 
Quote:

Originally Posted by Nipin (Post 154842154)
... 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.

Nipin 08-11-2019 16:26

Re: Về các kiến trúc trong lập trình mobile
 
Quote:

Originally Posted by anhsayvimen (Post 154843486)
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 :|

INTP 08-11-2019 21:52

Re: Về các kiến trúc trong lập trình mobile
 
chỉ có source code mà 70GB https://i.imgur.com/0KSdPUp.png, mỗi dòng cho là 70 ký tự thì cũng ra 1 tỷ dòng https://i.imgur.com/kH9BFd2.gif = 1 nửa toàn bộ code của Google rồi đó.

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

chém gió vkl ra https://i.imgur.com/1BW9Wj4.png tôi đếch tin https://i.imgur.com/1BW9Wj4.png


All times are GMT +7. The time now is 09:30.

Steam Powered by vBulletin® 0.1 pre-alpha
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.