Tự học thiết kế web, cần phải làm gì?

Mình rất muốn thiết kế 1 web site!

Vậy mình cần phải học những gì?

Có thể tự học online được không, nếu có thì học ở đâu, tìm tài liệu ở đâu?

fellit
fellit
Trả lời 14 năm trước

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ạnkhá 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

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ừ đâunê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 Cnhư tính toán cộng trừ nhân chia, xử lý chuỗi, lưu trữ dữ liệu lên vùngnhớ 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ìnhnhư 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ă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 MySQLvà có hướng dẫn cài đặt, hướng dẫn thay đổi các chức năng... Tôidownload về và làm theo hướng dẫn. Chỉ cần để ý, dần dần tôi quen vớicấ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ảimộ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 PHPtôi chỉ đọc đúng bài hướng dẫn tự học đầu tiên về cách khai báo cácbiến (variables), khai báo các hàm (functions) và các đặc điểm chínhcủ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 forumxem người ta thảo luận và cũng thường hay hướng dẫn người khác. Bạn haytì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ấtdễ để 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êncá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ềuhơ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ằngtiếng Anh sẽ chuẩn hơn viết bằng tiếng Việt hoặc được dịch sang tiếngViệ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 Dream Weaver: 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ônngữ, tôi thường dùng Notepad++ cái này cho việc sử nhanh trực tiếp trênhost 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.

tuanvilla
tuanvilla
Trả lời 12 năm trước

Bạnfeelit.Cám ơn bạn rất nhiều,

Nguyễn Thị Thu Hà
Nguyễn Thị Thu Hà
Trả lời 12 năm trước

Anh feelit trả lời "chất" thật đấy ạ.

Cảm ơn chia sẽ rất hữu ích của anh

Phan Quốc Khương
Phan Quốc Khương
Trả lời 11 năm trước

hay

Mai Thanh Hải
Mai Thanh Hải
Trả lời 11 năm trước

Tự học thiết kế web ?

- Thiết kế chỉ là thiết kế thôi thì học HTML và CSS ( nâng cao, công nghệ mới là HTML5 và CSS3 )

- Khi đã rành HTML và CSS thì học JavaScript ( trong đó nâng cao là jquery và ajax ) - jquery và ajax là sự kết hợp giữa html, css và javascript.

-Thiết kế web động : nếu chỉ là một web động dữ liệu bình thường thì học php ( thiết kế web bằng ngôn ngữ php ) và asp.net ( thiết kế web bằng ngôn ngữ C# hoặc VB.Net ).

Thế nào là một trang web động ? là trang web có dữ liệu thông tin thay đổi khi ta chọn những tùy chọn khác nhau, khi ta truy cập vào những thời điểm khác nhau, thậm chí ngay khi ta mở lên và không làm gì dữ liệu thông tin cũng thay đổi, thay đổi mãi mãi - trừ khi web đó đã đóng ( thí dụ http://www.ola.vn/, http://khotangdanhngon.com/). Còn những hiệu ứng, hình ảnh chuyển động, flash...năm này tháng nọ, lúc nào cũng lặp đi lặp lại chỉ là những thành phần " nhúc nhít " được trên trang web thôi ( do flash, gif, CSS, javascript tự có và tạo ra ).

Web động tức là dữ liệu, thông tin của trang web đó được lấy lên từ một nguồn dữ liệu đã thiết kế, phân tích sẳn, thường xuyên được thay đổi, cập nhật bởi quản trị hoặc do chính người dùng. Người dùng có thể tác động đến nó ( thông qua webpage tác động đến dữ liệu bên trong ) làm thay đổi hiển thị tức thời ( hầu hết các trang web hiện nay đều là web động, dễ thấy nhất là các trang webgame hay các forum, các trang xã hội cộng đồng,... dĩ nhiên vatgia.com cũng là một trang web động dữ liệu thuộc hàng cực lớn rồi. )

Để làm web động bạn phải biết sử dụng ít nhất một loại cơ sở dữ liệu, có những csdl cao cấp được gọi thật oai " hệ quản trị cơ sở dữ liệu " như SQL, Oracle, MySQL, M.Access...tuy nhiên, csdl cũng có thể là một .xml, .xls, .txt.

Nhẹ, miễn phí, load nhanh, có cấu trúc là XML ( nhưng không bảo mật, khó sử dụng )

Bảo mật, miễn phí, có cấu trúc cao cấp là MySQL.

M.SQL và Oracle thì là hàng cao cấp ( cấu trúc cao, bảo mật, nhiều tính năng hổ trợ...), phải mua bản quyền.

Tôi chỉ biết mấy loại csdl đó và đang sử dụng MySQL với XML.

Làm một trang web động bình thường thì chỉ cần bao nhiêu đó và có thể tự học. Nhưng để viết các ứng dụng trung trung ( trung bình ) trên webpage thì tự học khó lắm bạn ơi. Phải học qua trường lớp, tích lũy một số kiến thức cơ bản để " mở khóa" những thứ mà tìm trên internet hàng tá nhưng không hiểu gì hết. Tự học vẫn được nhưng phải rất thông minh, chịu khó, kiên nhẫn và mất nhiều thời gian, trong khi đó học qua một vài khóa ngắn thì không cần quá giỏi, một ít thời gian là có thể làm được khá nhiều thứ.