Trong suốt quá trình học để trở thành một lập trình viên (software engineer) hiện nay ở các trường đại học thì có một giai đoạn khá quan trọng là lập trình thiết kế website.
Tuy nhiên cũng có khá nhiều người sau khi tốt nghiệp vẫn hầu như chưa hề biết việc thành lập một website như thế nào và cũng có khá nhiều người đã biết về lập trình nhưng chưa hề biết đến việc lập trình một website.
Bạn cũng là một người trong số đó và đang mù mờ về các kiến thức website? Sau đây tôi xin nói qua về quá trình học thiết kế website của tôi chia sẽ cùng các bạn hi vọng sẽ giúp ích được cho nhiều người.
Quá trình tự học thiết kế web
Bài viết này không có gì là cao siêu, tuy nhiên hàng ngày mình tham gia các diễn đàn thảo luận về thiết kế website thì thấy không ít người hỏi về việc học thiết kế website bắt đầu từ đâu và nên học cái gì? Học như thế nào cho hiệu quả?
Trong suốt quá trình kể từ lúc bắt đầu học lập trình của tôi, ban đầu là lập trình về console viết các chương trình và các bài tập đơn giản bằng ngôn ngữ lập trình C như tính toán cộng trừ nhân chia, xử lý chuỗi, lưu trữ dữ liệu lên vùng nhớ và truy xuất, xử lý chuỗi mô phỏng theo dạng web browser... Lúc đó hầu như tôi cũng chưa hình dung ra được để lập được các chương trình như Corel, Photoshop hay các ứng dụng (application) thông dụng trên windows như thế nào. Bởi vì nếu mà dùng ngôn ngữ C thuần túy lập nên các chương trình này thì quả là khó khăn.
Sau đó tôi có một thời gian bắt đầu tiếp xúc với website, nhưng chỉ ở mặt sử dụng nhưng chưa hề biết đến một website được chạy như thế nào. Tôi cảm thấy thích thú với những gì trên website trình bày và bắt đầu tự tìm tòi nhưng cũng không biết bắt đầu từ đâu như một số bạn bây giờ.
Có một lần đó tôi vô tình tìm được một website cho download mã nguồn diễn đàn (forum) bằng PHP với MySQL và có hướng dẫn cài đặt, hướng dẫn thay đổi các chức năng... Tôi download về và làm theo hướng dẫn. Chỉ cần để ý, dần dần tôi quen với cấu trúc và cách viết code của người khác và hiểu được một website hoạt động như thế nào.
Tôi không phải là một người có thói quen cầm một cuốn sách dày hay đọc một đống tài liệu học từng bước (step by step). Tôi cũng không phải một người hay thích lên lớp nghe thầy cô giảng nhiều về lý thuyết mà chỉ thích tự tìm hiểu. Đối với PHP tôi chỉ đọc đúng bài hướng dẫn tự học đầu tiên về cách khai báo các biến (variables), khai báo các hàm (functions) và các đặc điểm chính của nó rồi tự đọc mã nguồn có sẵn để biết cách viết.
Về sau tôi bắt đầu tự viết được các thay đổi cho mã nguồn forum đó, sau đó nữa tôi có thể viết được hẳn một chức năng lớn cho forum và còn có thể thay đổi hầu hết cấu trúc của nó. Con đường tự học thiết kế web của tôi là vậy.
Ngoài ra, song song với việc tự mày mò những source code có sẵn tôi còn hay tham gia các forum xem người khác thảo luận và cũng thường hay hướng dẫn người khác. Bạn hay tìm tòi để có thêm kiến thức hướng dẫn người khác cũng là một cách rất dễ để tiến bộ. Nhiều khi có những vấn đề người khác hỏi tôi không biết, thế là tôi lại lên mạng tìm hiểu rồi hướng dẫn lại. Hoặc lắm khi trên các diễn đàn thảo luận trực tuyến cũng có nhiều người đưa các vấn đề hóc búa mà mình chưa từng gặp để giải quyết. Cứ như thế dần dần bạn sẽ có nhiều kinh nghiệm cho chính mình.
Các yếu tố cần thiết
Tóm lại, để tự học thiết kế web thì yếu tố cần là bạn biết được được các thuật toán được dùng trong lập trình, đã có tư duy lập trình và đã biết sử dụng website. Tất nhiên cũng phải biết về cơ sở dữ liệu ít nhất là về mặt cơ bản.
Bạn có thể tìm hiểu về html trước, sau đó là PHP (nếu bạn đã biết về C) hoặc JSP (nếu bạn đã biết về lập trình Java) hay ASP.NET (nếu bạn đã biết về VB.NET hoặc C#). Có thời gian rỗi rãi thì bạn tìm hiểu mày mò thêm về css để có thể làm cho website của bạn thêm bắt mắt và javascript để có các hiệu ứng phụ dễ sử dụng cho người dùng.
Thường thì mình hay đọc các tài liệu nước ngoài bằng tiếng Anh nhiều hơn là tài liệu tiếng Việt. Bởi vì các tài liệu về kỹ thuật viết bằng tiếng Anh sẽ chuẩn hơn viết bằng tiếng Việt hoặc được dịch sang tiếng Việt. Do đó, nếu bạn có vốn tiếng Anh (không cần phải quá giỏi) cũng là một lợi thế cho bạn.
Các mã nguồn có thể sử dụng
Sau đây là các mã nguồn mà bạn có thể tìm hiểu:
1. Về forum thì gồm có: phpBB, IPB (Invision Power Board), vBB (vBulletin Board) và nhiều loại forum khác.
2. Về cms hay framework thì gồm có: Drupal, Joomla, phpNuke, Spring, LifeRay, DotNetNuke, Zend framework và nhiều loại cms/framework khác.
Các công cụ sử dụng:
1. Adobe DreamWeaver: Hỗ trợ nhiều ngôn ngữ. Tuy nhiên tôi thường dùng cho việc soạn thảo html, css và javascript.
2. Notepad++, Edit plus: Trình duyệt soạn thảo hỗ trợ nhiều ngôn ngữ, tôi thường dùng Notepad++ cái này cho việc sử nhanh trực tiếp trên host hay server.
3. Zend Studio hay Zend Eclipse: Hỗ trợ tốt cho việc lập trình PHP.
4. Eclipse: Hỗ trợ tốt cho việc lập trình Java.
5. Visual Studio: Hỗ trợ tốt cho việc lập trình ASP.NET.
6. SQL Server nếu bạn dùng cơ sở dữ liệu là MS SQL.
7. phpMyAdmin dành cho việc quản lý database MySQL bằng giao diện web.
8. SQL Yog: chương trình hỗ trợ cho việc quản lý database MySQL.
Tùy vào mã nguồn hoặc ngôn ngữ lập trình sử dụng mà bạn chọn công cụ phù hợp cho mình.