01/10/2018, 16:42

Sự khác nhau giữa lập trình Client - Server với lập trình bình thường

anh (chị) cho em xin hỏi; Lập trình Client - Server nó khác lập trình bình thường không?
Cụ thể, em hiện chỉ lập trình C# bình thường như code + CSDL; em không biết giữa lập trình bình thường như em có bị giới hạn gì so với lập trình kiểu Client - Server không?
Rất mong được phản hồi của các huynh, đệ, tỷ, muội!!

Aragami1408 viết 18:55 ngày 01/10/2018

Thì nó cũng là lập trình mà bạn! Lập trình bình thường là như nào? Nói rõ hơn được không?

Langtuhoidau viết 18:57 ngày 01/10/2018

Dạ, em hiện tại đang code C# với CSDL bình thường! Em hem biết lập trình kiểu Client - Server có tốt hơn cách thức lập trình hiện tại của em không?
Rất mong được phản hồi!

Aragami1408 viết 18:53 ngày 01/10/2018

Mình thực sự không hiểu cách lập trình bình thường là gì? Ý bạn là lập trình giải bài tập thuật toán bình thường?

Songtotnhe viết 18:47 ngày 01/10/2018

Lập trình Client - Server nó khác lập trình bình thường không?
Cụ thể, em hiện chỉ lập trình C# bình thường như code + CSDL;

Một cái là kiến trúc client- server, một cái là lập trình kết nối CSDL, 2 món này đều là những nền tảng trong lập trình, tùy trường hợp mà sử dụng, cho nên so sánh 2 món đó với nhau là không đúng.

em không biết giữa lập trình bình thường như em có bị giới hạn gì so với lập trình kiểu Client - Server không?

Như đã nói ở trên, không so sánh.


Có thể bạn chưa biết, khi bạn lập trình một app kết nối với CSDL (ví dụ C# và SQLServer), thì SQLServer đó chính là server, app của bạn là client, bạn có thể mở nhiều app (client) cùng lúc. SQLServer lúc đó sẽ tính toán điều phối hoạt động để phục vụ cho các client của bạn.
Lúc đó bạn chỉ chuyên tâm lập trình app thôi, còn việc xử lý dữ liệu ở SQLServer đã do anh Microsoft lo giùm rồi nên bạn không để ý tới.

Còn khi bạn muốn thiết kế một ứng dụng client - server, ví dụ như làm ứng dụng chat, hoặc làm server game để các client có thể đấu với nhau, thì lúc đó bạn vừa phải làm phần app client, vừa phải làm phần app server, phải xử lý sao cho server phục vụ được các client kết nối tới.

Langtuhoidau viết 18:54 ngày 01/10/2018

Dạ, ý lập trình bình thường của em như: phần mềm quản lý nhân viên; Chỉ viết code xử lý giao diện thự thi qua SQL.

Langtuhoidau viết 18:42 ngày 01/10/2018

Dạ, em cám ơn anh nhiều! Em đã nắm được vấn đề rồi ạ!

Aragami1408 viết 18:57 ngày 01/10/2018

À mình hiểu. Nhân tiện nói luôn kiểu “lập trình bình thường” là front-end. Còn kiểu lập trình “Client-Server” như bạn nói nghĩa là backend. Backend gồm 2 thứ là ngôn ngữ(C#) và CSDL(SQL, chính xác hơn là MSSQL). Ngôn ngữ hút dữ liệu từ CSDL rồi sinh ra(trả về) kết quả là giao diện mà bạn đã “lập trình bình thường”. Hai cái khái niệm này bạn cần nhớ nha!

Chúc bạn thành công trong con đường lập trình

Langtuhoidau viết 18:52 ngày 01/10/2018

Dạ, em cám ơn anh đã phản hồi; Em đã nắm được vấn đề rồi ạ; Chân thành cám ơn!

Trần Hoàn viết 18:57 ngày 01/10/2018

Lập trình Client - Server sẽ khó hơn vì dính đến Socket, thậm chí là nếu client và server dùng 2 ngôn ngữ lập trình khác nhau thì còn khó nữa. Nhưng tất nhiên là về mặt sản phẩm thì nó hay hơn nhiều so với dùng Client truy cập thẳng vào database rồi. Cái này bạn ngồi tưởng tượng cũng ra mà :))[quote=“HarryCoder, post:8, topic:71128”]
Nhân tiện nói luôn kiểu “lập trình bình thường” là front-end
[/quote]

Em nhầm rồi. Lập trình bình thường là full-stack trong 1 app. Tất cả việc truy vấn, xử lý logic, hiển thị đều đặt tại máy người dùng. Cách này phù hợp với các cấu trúc nhỏ và mọi người tin tưởng nhau. Kiểu như lắp đặt cho nội bộ một văn phòng nhỏ vài chục người. Chứ public ra ngoài là chết, vì app bị hack là server cũng bị hack.

Lập trình client-server thi mới chia ra front với back.

Nguyen Ca viết 18:42 ngày 01/10/2018

Lập trinh client-server

Như em làm mà có kết nối đến db đó là 1 dạng của client - server ( 2 tier):

Phần lớn business logic sẽ nằm ở desktop application.

Tiếp theo có bước cải tiến về mô hình này : N Tier Architecture

Bước phát triển tiếp theo là RIA Architecture (Rich Internet Applications)

Cái chat chiếc gì em nói thực ra là cách giao tiếp, nó không phải phải là kiến trúc gì hết:
Một số giao tiếp giữa client server:

Desktop application to database server communication
Browser to web server communication.
Mobile to server communication.
FTP client to FTP server communication.
Socket

Aragami1408 viết 18:49 ngày 01/10/2018

Cảm ơn anh Hoàn giải ngố cho em nhé!

P/s: [spoiler]Hức mình theo nghề code mà không bằng ảnh [/spoiler]

Trần Hoàn viết 18:43 ngày 01/10/2018

Ủa, kiến trúc “lập trình bình thường” cũng tính là client-server à? Mình cứ tưởng client-server thì server chỉ xử lý logic. Nếu database chỉ đơn giản là 1 file ai cũng có thể truy cập qua mạng thì máy đó cũng tính là client-server à

Nguyen Ca viết 18:54 ngày 01/10/2018

Nếu có 1 chỗ làm host thì cũng client-server rồi -.-

Trần Hoàn viết 18:54 ngày 01/10/2018

Như vậy đó là một kiến trúc Client-Server mà Client là endpoint duy nhất, vừa là front-end vừa là back-end.

Nguyen Ca viết 18:50 ngày 01/10/2018

Cái định nghĩa front-end, back-end nó tùy theo cái view. ngay cả cái js xử lý logic a cũng có thể gọi là backend -.-. Cái front-end, back-end không chỉ là định nghĩa trong lập trình web đâu.

Bài liên quan
0