Thắc mắc về lập trình web


Từ: 04:23 05/03/2013
Bài: 29
Cảm ơn: 33
Thích: 0

Sao Em thấy có CMS rồi mà người ta cứ thích viết lại cả trang web để làm gì nhỉ , mất công bỏ xừ .

Ai giải thích hộ em với 

Cơ mà nếu chuyển hết sang CMS thì còn lập trình web để làm gì nữa :D

Label
Từ: 12:10 27/09/2012
Bài: 155
Cảm ơn: 178
Thích: 28

Ban đã hiểu được nghĩa viết tắt của CMS chưa?

CMS =  Content manager system. Tức là hệ thống quản lí nội dung.

Chưa cần nói những cái sâu xa, bạn thử nghĩ xem nếu như người dùng hay khách hàng họ dùng CMS hết, thì lập trình viên lấy gì ăn?

Nói đến CMS, nó chỉ cung cấp cho người dùng các công cụ căn bản để tạo lập và quản lí nội dung thông tin. Tuy nhiên mỗi cá nhân, doanh nghiệp, tổ chức họ lại đòi hỏi các công cụ tốt hơn, tùy biến mạnh hơn, bản mật cao hơn... thì khi đó họ lại cần phải tạo lại trang web từ đầu hoặc thuê lập trình viên viết ra các module mở rộng cho CMS. Hoặc đơn giản, một người có ý tưởng làm một trang web nào đó chưa ai nghĩ tới (vd google hay facebook ngày xưa ) thì lúc đó bắt buộc họ phải code từ đầu.

Việc tiếp nữa, code từ đầu đối với lập trình viên là cách học lập trình ra một trang web hoàn chỉnh. Nếu như lập trình viên không biết cách làm ra một trang web hoàn chỉnh thì sẽ chẳng có cái CMS nào ra đời cả.

Một CMS bao gồm rất nhiều phần như code, module, giao diện... nhưng mặc định của nó thường rất đơn giản và ít tính năng. để mở rộng thêm tình năng cho cái CMS đó thì buộc người sử dụng phải trả tiền cho lập trình viên để họ code ra module khác có tính năng mà CMS không hỗ trợ, hoặc một cái giao diện mới, đẹp hơn mặc định CMS, không ai có và đúng với nội dung mà trang web đề cập. Và như thế thì lập trình viên kiếm tiền nhờ vào code mudule, giao diện chứ không phải là code nguyên một trang web.

Label
Từ: 04:23 05/03/2013
Bài: 29
Cảm ơn: 33
Thích: 0

cám ơn huynh , heeh

Label
Từ: 14:36 04/10/2012
Bài: 81
Cảm ơn: 82
Thích: 7

Tiếp thêm nữa, nếu bạn chỉ muốn có 1 trang lưu bút đơn thuần. bạn có thể tự gõ, tự vẽ vời biến tấu theo ý mình (code chỉ tầm 100kb đổ lại)

Trong khi nếu bạn dùng 1 module của 1 CMS nào đó thì bạn cần ít nhất tầm 1, 2 MB trở lên của CMS => thừa mứa ko cần thiết và nó lại chậm so với nhu cầu.

Hơn cả, với 1 trang mà chưa có người nghĩ ra (như ông admin@ meo ở trên có gõ) thì CMS nếu làm được (facebook chẳng hạn => có thể tương đương qua mxh chia sẻ ảnh tamtay dùng CMS drupal) thì code sẽ rất chi là khồng kềnh và chậm chạp, tốn CPU ko cần thiết (để dành để tiếp lượng khách quan trọng còn tiết kiệm năng lượng cho trái đất hơn).

Code lại từ đầu đôi khi cũng là cách tối ưu những thứ đã có (đã có joomlla rồi sao sinh ra drupal làm chi và ngược lại)

// Triết: mâu thuẫn giữa 2 sự vật hiện tượng là cách để chúng phát triển và thay đổi về lượng (phiên bản+dung lượng)  để dẫn tới thay đổi về chất =))

PS: Mã mà thiên về 1 nhu cầu cụ thể thường sẽ ít tạm nham hơn là mã dùng cho nhiều trường hợp => thường gọn nhẹ hơn, chạy nhanh hơn, tốt hơn, nhiều truy cập hơn, tiền nhiều hơn, viết nhiều hơn  v.v.v blah blah

Label
Từ: 04:23 05/03/2013
Bài: 29
Cảm ơn: 33
Thích: 0

Sao mã nguồn nặng thì web lại chạy chậm hả anh? Em tưởng ko liên quan chứ nhỉ .

Như kiểu em làm bài tập lớn C++ . em chia bao nhiêu file . Em nghĩ ko liên quan chứ nhỉ . Em ko rõ về web lắm 

Label
Từ: 14:36 04/10/2012
Bài: 81
Cảm ơn: 82
Thích: 7

trên web là thông dịch, tức là mỗi lần load trang web là 1 lần dịch (nếu ko có cache)

còn C++ chủ yếu là biên dịch nên nhanh hơn, và sự khác biết giữa nhiều file header và 1 file lớn ko ảnh hưởng là mấy (vì nó đã thành mã bin rồi)

Trong PHP (mình biết rõ cái này hơn), CMS thường có sử dụng cấu trúc MVC, dùng file index.php gọi tới 1 file controller là class tương ứng, controller này lại gọi 1 file action tương ứng với controller, action cần hiển thị sẽ gọi 1 file template tương ứng với action đó, nhưng template mà sử dụng cấu trúc nhiều layout thì lại gọi 1 main layout  nữa => tính ra cũng vài file php được kết nối rồi (lại gọi lồng nhau nữa @@)

CMS thường có module thêm thắt (thường dùng 1 số hàm như là call_user_function, call_method v..v. hay eval()) nên làm chậm quá trình render trang rất nhiều. Chưa kể 1 số CMS lại tặng thêm quả Template Engine nữa (Smarty, Twig v.v..) (như vBB) => chậm thêm phát nữa (eval gọi lần đầu thì sử lí chậm lắm ==') cho việc thiết kế giao diện được đơn giản hóa với dzner