Định hướng phát triển Website mã nguồn mở.

Thảo luận trong 'Liên thông & định hướng việc làm' bắt đầu bởi integer, 19 Tháng năm 2011.

  1. Offline

    integer

    • Tiếu Ngạo Giang Hồ

    • :-?
    Số bài viết:
    1.695
    Đã được thích:
    1.313
    Điểm thành tích:
    900
    Trích (http://2mit.org/forum/showthread.php/15993-Thanh-lap-nhom-nghien-cuu-ve-ma-nguon-mo-web-site/page4)

    - Lúc chíp tôi bắt đầu nghiên cứu làm web, là lúc chíp tôi còn là cậu học sinh lớp 11, khi đó ở xã tôi khái niệm về thiết kế web là không có(chủ yếu Office). Tuy nhiên vào thời điểm đó rất may chíp tôi cũng có một số người bạn cùng chung chí hướng đam mê và nghiên cứu về công nghệ thông tin trong số đó chíp tôi đã cũng làm việc với 4 người. Thực tế nhìn nhận kiến thức và kinh nghiệm của tôi so với 4 người này là thua xa, vì họ bắt đầu làm web sớm hơn tôi 1 năm. Tôi bắt đầu hành trình làm web của mình, mã nguồn mà tôi chọn đầu tiên để làm việc là VBB.
    - Vì sao tôi không chọn các open source khác lại chọn nó, có thể tóm gọn thế này, quá trình cài đặt của VBB so với các open source khác là rất phức tạp đối với những ai mới bắt đầu nghiên cứu open source, tôi không biết sau khi các bạn đã cài đặt và thành thục VBB các bạn có tự hỏi lại giống như bác Sun đã hỏi, các bước cài đặt này có ý nghĩa như thế nào. Tại thời điểm đó tôi cũng giống như các bạn, cũng chỉ biết làm theo hướng dẫn trên mạng cứ next. Tuy nhiên sau này tôi tìm hiểu, quá trình cài đặt này giúp cho những ai mới bắt đầu làm quen với open source hình dung được những khái niệm đầu tiên về hosting, domain, database, .. mà sau này nếu ai tìm hiểu rõ, sau này có gặp lỗi cũng biết chỗ mà edit. Lý do thứ 2 mà tôi chọn VBB là open source nghiên cứu đầu tiên chính là control panel của VBB rất phức tạp so với các control panel của các open source khác. Tuy nhiên, nếu ai có thể làm chủ được control panel của VBB, sau này có thể hình dung và chuẩn bị trong đầu của mình những khái niệm về user, group,phân quyền,.. setting cho những ai sau này nghiên cứu bên mảng quản trị hệ thống. Đối với tôi có thể nói control panel vbb có thể ví nó như một OS.Lý do thứ 3, sau khi sử dụng thuần thục open source vbb, khả năng sử dụng, cài đặt và quản trị các open source là rất nhanh.

    - Tôi làm quen VBB, sau khi nghiên cứu xong VBB, tôi tiến hành sử dụng một số open source khác đối với các open source Forum tôi đã tiến hành nghiên cứu phpbb, myBB, IPB. Nhờ VBB mà khả năng thích ứng của tôi đối với các open source trên là nhanh.

    - Đến năm tôi học lớp 12, tôi đã mở rộng và nghiên cứu sang các open source khác như PHP-Funtion, php-nuke. nuke.

    - Sau khi tôi bước vào giai đoạn học Cao Đẳng, thời gian cho tôi để học mấy cái này không còn nhiều, tuy nhiên tôi vẫn giành một số thời gian để nghiên cứu 1 open source mà trước đó bây giờ cũng đang rất hot, chính là Joomla. Việc làm quen đối với open source này không khó nhờ vào nền tảng mà tôi đã tích góp được ở trên.

    - Tuy nhiên khi tôi theo học 1 khóa thiết kế web ở trường, tôi lại tìm cho mình một cảm giác mới là và rất thích khi tự mình code những gì mình thích, tôi theo học khóa đó 6 tháng, 6 tháng đo tôi đã theo cô dạy tôi php không chỉ nghiên cứu php mà tôi còn nghiên cứu sang 1 số ngôn ngữ khác ajax, jquery. Sản phẩm đầu tiên của tôi là 1 trang từ điển trực tuyến lúc đó tôi đêm dự thi cuộc thi thiết kế web toàn trường và đạt giải nhì sau bác Sun.

    - Thời gian trôi qua 1 năm, sang năm thứ 2 tôi được nhân đề tài khoa học, thiết kế trang web cho phòng phát triển nội dung và đào tạo. Ý định của tôi lúc đầu là tự code 100%, ok sau 6 tháng tôi đã code xong, tôi đưa cho bạn bè test thử, kết quả lỗi tùm lum, không những lỗi ngôn ngữ mà còn cả lỗi bảo mật, cho nó chạy trên server nao chắc server đó bị hack liên miên quá. Tôi hơi thất vọng bản thân. Tuy nhiên sau đó tôi lại nghĩ sang một hướng khác, sao không sử dụng open source, từ suy nghĩ đó tôi chọn Joomla, tuy nhiên dù cộng đồng joomla có lớn cỡ nào cũng không thể đáp ứng các nhu cầu của con người. Lúc đó yêu cầu đặt ra là phải website phải có chức năng đăng ký khóa học trực tuyến theo quy định của Phòng Phát Triển Nội Dung và Đào Tạo. Kiếm hoài trên mạng nhưng thực sựko thể có cái component phù hợp với yêu cầu của phòng. Và từ đó tôi bắt đầu nghiên cứu sang việc phân tích code của Joomla, viết module cho joomla, và bài học đầu tiên mà tôi chọn để viết component của joomla là How to write component joomla.

    Chíp tôi nói nhiều từ nãy giờ tóm gọn lại quá trình nghiên cứu web như sau.
    Opensource --->Học ngôn ngữ web(php, ajax, jquery, html,..)--->phân tích code của một open source--->viết các ứng dụng cho các open source(module, component, plugin..)

    Thân!
  2. Offline

    CrazyTaurus

    • Windows NT

    Số bài viết:
    26
    Đã được thích:
    61
    Điểm thành tích:
    60
    Rất hâm mô 1 sinh viên có ý chí và đam mê cao như bạn. Theo mình, để code được các chức năng đặc biệt cho 1 trang web thỏa mãn các yêu cầu riêng như của phòng PTND & DT thì bạn nên chuyên qua dùng 1 CMS khác đó là Drupal, CMS này mạnh hơn Joomla ở chổ là bạn có thể can thiệp sâu hơn vào phần core để thực hiện các chức năg mình mong muốn dựa vào các module có sẵn mà cộng đồng Drupal cung cấp, chứ không mang ý nghĩa hiển thị thông tin đơn thuần như Joomla. Nhưng cái Drupal có tiếng là khó dùng đó, chúc bạn may mắn. Nếu có thắc mắc gì thi bạn cứ llacj với mình
    sunboy thích bài này.
  3. Offline

    sunboy

    • Thành viên sáng lập

    • No thing
    Số bài viết:
    1.616
    Đã được thích:
    1.340
    Điểm thành tích:
    1.000
    Cộng đồng Joomla ở VH mình mới hé anh à, đã có một số người đi trước mở đường cho Joomla. Còn bên Drupal thì em chưa thấy. Có lẽ sau khi nắm bắt và thông thạo Joomla. các bạn sẽ chuyển qua Drupa.
  4. Offline

    phuc113

    • ÔI CÁI CUỘC ĐỜI NÀY

    • HOSTING - DOMAIN - VPS - THIẾT KẾ WEB
    Số bài viết:
    623
    Đã được thích:
    277
    Điểm thành tích:
    220
    Theo e nghĩ nêú có ý định học Drupal thì nên học nó trc joomla. vì 2 cái này khá là khác nhau.
  5. Offline

    chip

    • Thành viên sáng lập

    • Chíp sún
    Số bài viết:
    777
    Đã được thích:
    778
    Điểm thành tích:
    560
    -->Đã là open source thì Drupal hay Joomla điều cho phép can thiệp sâu vào code. Vấn đề đặt ra là phải hiểu được cấu trúc cũng như hệ thống code của các CMS này thì lúc đó với kiến thức PHP nền tảng chúng ta có thể code tùy ý những gì mình muốn. "Không có một cộng đồng nào có thể đáp ứng cho từng nhu cầu của bạn"
  6. Offline

    sunboy

    • Thành viên sáng lập

    • No thing
    Số bài viết:
    1.616
    Đã được thích:
    1.340
    Điểm thành tích:
    1.000
    Mình không dùng Drupal nhưng như anh CrazyTaurus nói, theo mình thì cũng có chổ đúng, chổ chưa được chính xác.

    Joomla hay Drupal đều có thể can thiệp vào core được hết, vì nó là mã nguồn mở. Nhưng với Joomla, không ai can thiệp vào phần core của nó cả. Bởi nếu muốn mở rộng tính năng của nó ta chỉ cần viết thêm các thành phần mở rộng để tích hợp mà không cần phải thay đổi phần core. Trừ khi người dùng có khả năng... muốn thay đổi core để thực hiện mục đích khác... như thay đổi hiện năng hoạt động.v.v.

    Tiện thể nhắc đến Joomla và Drupal. Theo quan điểm cá nhân, mình có một số nhận xét giữa 2 CMS này.
    - Số lượng thành phần mở rộng của Joomla nhiều hơn Drupal gấp nhiều lần, bao gồm cả có phí và miễn phí. (khoảng hơn 7000 thành phần mở rộng). Triển khai một trang Joomla rất dể bởi thành phần mở rộng vô số, chọn dể dàng..
    - Cộng đồng Joomla rất đông đúc và rộng lớn. hầu như khắp thế giới. Còn Drupal thì ít hơn..
    - Hiện năng của Joomla không bằng Drupal. Nếu sử dụng cho một website có lượng truy cập lớn và thường xuyên (một trang báo điện tử chẳng hạn..). Chúng ta phải tính đến hiện năng hoạt động của CMS, phải chọn CMS nào hoạt động tiết kiệm tài nguyên cho server.... Drupal thường được chọn hơn là Joomla.
    - Như đã đề cập, người dùng Drupal có thể thay đổi Core để thay đổi CMS theo mục đích mình..
    - Hiện nay ở VN, nhiều doanh nghiệp công ty sử dụng Joomla để thiết kế website cho khách hàng nhiều hơn là Drupal
    - Theo dự đoán của thế giới. Drupal có nhiều triển vọng hơn và có lẽ sau này sẽ vượt mặt Joomla.
    CrazyTaurus thích bài này.
  7. Offline

    CrazyTaurus

    • Windows NT

    Số bài viết:
    26
    Đã được thích:
    61
    Điểm thành tích:
    60
    @Chip: chính xác, cả Drupal và Joomla đều cho phép lập trình viên can thiệp vào core, cả 2 CMS trên đều có cấu tạo từ các hook nằm trên nền tảng API, tuy nhiên sự liên kết và phong phú về các hook thì Drupal hơn hẳn so với Joomla. Vì vậy Joomla phù hợp cho các web cá nhân, thông tin vừa và nhỏ, trong khi đó Drupal lại có thế mạnh trong xử lý, quản lý, văn phòng điên tử,... với số lượng truy cập lớn. Bên cạnh đó thì phía Joomla có thế mạnh là có 1 kho template và layout khá lớn nhờ cộng đồng Joomla, trong khi đó Drupal lại là khối lượng module chức năng được chia sẻ rất lớn nhờ cộng đồng Drupal, đây là điều mình mún nói đến cho bạn Integer, nó giúp bạn có thể tùy biến trang web của mình 1 cách dễ dàng. Mỗi CMS có 1 thế mạnh riêng, tuy vào mục đích sử dụng mà mình chọn lựa cho phù hợp.
    sunboy thích bài này.
  8. Offline

    chip

    • Thành viên sáng lập

    • Chíp sún
    Số bài viết:
    777
    Đã được thích:
    778
    Điểm thành tích:
    560
    --->ở đây em không nói cái nào hơn cái nào hay so sánh gì cả. Ngồi mà so sánh cái nào hơn cái nào, thành phần mở rộng của CMS nào nhiều hơn, thằng nào tối ưu hơn,.. Thực sự không thể nói trước được và là bài toán khó có câu trả lời. Cái em muốn nói ở đây là nhu cầu cụ thể từng người, thì dù cộng động các CMS lớn đến đâu cũng không thể giải quyết hết được, em ví dụ.

    --->Lúc em còn làm đề tài cho phòng PTND và Đào Tạo có chức năng đăng ký học viên, trong chức năng này có phần khuyến mãi cho đăng ký nhóm 5 sinh viên và 10 sinh viên. Với yêu cầu như thế này em nghĩ cả 2 CMS trên khó mà kiếm được các thành phần mở rộng phù hợp với yêu cầu như thế được. Lúc đó muốn tùy biến website của mình, chỉ có cách là tự code.
  9. Offline

    sunboy

    • Thành viên sáng lập

    • No thing
    Số bài viết:
    1.616
    Đã được thích:
    1.340
    Điểm thành tích:
    1.000
    Hi, chắc anh CrazyTaurus dùng Drupal nhiều hơn Joomla.
    Trước khi đi vào vấn đề em cần nói. Em xin định nghĩa từ thành phần mở rộng (extension) là gì:
    - Đối với Joomla nó là từ được gọi chung cho Component, template, language, plugin...
    - Đối với Drupal nó có thể gọi chung cho Module, theme, language,...
    Như vậy hình như component ~ module

    Số lượng thành phần mở rộng bên Joomla nhiều hơn Drupal anh à. (với joomla: http://extensions.joomla.org/). Những thành phần mở rộng nhiều như vậy bởi cộng đồng Joomla rất lớn, và Joomla cũng được nhiều công ty viết thành phần mở rộng với mục đích kinh doanh... Nó giống giải thích vì sao phần mềm bên windows lại nhiều hơn gấp nhiều lần bên linux.

    Cái này Joomla cũng làm rất dễ dàng, chỉ thay đổi template thôi mà (bên Drupal gọi là theme thì phải), và hầu hết các CMS theo em biết đều làm được như vậy.
  10. Offline

    CrazyTaurus

    • Windows NT

    Số bài viết:
    26
    Đã được thích:
    61
    Điểm thành tích:
    60
    Hiện nay CMS đang là 1 xu thế hot của lập trình Web, bên cạnh với cách thức code truyền thống. Code truyền thống khá ổn định về mặt tính năng, dễ quản lý sửa đổi, đáp ứng các yêu cầu chuyên biệt, tuy nhiên lại tiêu tốn khá nhiều thời gian và tiền bạc. Trong khi đó CMS, 1 loại admin page, giao diện quản trị lại khá tiện dụng, hỗ trợ sẵn các tính năng cơ bản, support online dường như tức thời và các lựa chọn cho các yêu cầu thì vô cùng nhiều, tuy nhiên cũng rất khó điều khiển hay thây đổi chuyên sâu.
    Về lập trình CMS thì có 2 hướng hiện tại cho lập trình viên: frontend và backend.
    Frontend là các bạn sử dụng các extension như component hay module, các layout,...mà cộng đồng mạng chia sẻ để tạo nên 1 website; và thực sự các extension được chia sẻ này rất phong phú, có thể đáp ứng hầu hết các yêu cầu chức năng mà chúng ta cần, tuy nhiên nó cũng yêu cầu người lập trình phải có sự hiểu biết rộng và chuyên sâu về các extension để có thể sử dụng, kết hợp và tùy biến chúng để đạt yêu cầu của mình; công việc này hầu như rất ít khi đụng tới code.
    Backend là bắt tay can thiệp vào code, tại đây lập trình viên sẽ dựa vào cấu trúc core đặc thù của từng CMS hay các extension có sẵn mà chỉnh sửa hay tạo mới các chức năng cho phù hợp với các yêu cầu, cái này là mình tự sáng tạo ra cái riêng của mình. Nó yêu cầu khả năng code tốt và tư duy lập trình cao.
    CMS đag phát triển khá nhanh và cộng đồng sử dụng cũng như chia sẻ của nó đang lớn từng ngày. Vì vậy, bên cạnh việc thành thục kĩ năng lập trình của mình thì các bạn cũng nên luyện tập tốt kĩ năng Tiếng Anh, vì với 1 khả năng TA tốt thì các bạn có thể tìm được tất cả nhưng gì mình mong muốn trong cái thư viện vô tận này. Và điều này không chỉ đúng trong CMS hay lập trình Web mà là hầu hết các lĩnh vực của cuộc sống. Đây là kinh nghiệm mà mình đã rút ra được. Mình hiện h đang làm lập trình viên về CMS, mà chủ yếu là Drupal. Mình tham gia cộng đồng này cũng là qua sự hướng dẫn của các anh là CNTT đi trước, vì thấy nó là 1 xu thế mới có tiềm năng.
    @Chip: em nghĩ đúng rồi đó Chip, nhưng vì tự code rất khó và tốn thời gian -> không hiệu quả kinh tế nên đôi lúc ngta lại tìm kiếm 1 tính năng đã có sẵn tương đương ^^
    @Sun: thật sự ở đây tùy biến website chủ yếu là về mặt chức năng em ah, chứ khôg nhìu về template, vì template có thể code thây đổi dễ dàng hoặc dùng CSS cũng được, nhưng ko đáp ứng được yêu cầu chức năng.
    sunboy thích bài này.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí