View Poll Results: Bạn có biết về ASP

Voters
10. You may not vote on this poll
  • Không hề biết gì về ASP

    3 30.00%
  • Có nghe nói về ASP, nhưng nghĩ là nó chỉ có 1 loại

    0 0%
  • Có nghe nói về ASP, nhưng nghĩ là nó chỉ có 2 loại

    1 10.00%
  • Có nghe nói về ASP, và nghĩ là nó có 3 loại

    6 60.00%
  • ý kiến khác

    0 0%
Trang 1 / 2 12 LastLast
Hiển thị kết quả từ 1 đến 10 / 12
  1. #1
    Tham gia
    23-01-2005
    Location
    http://hoctudau.com
    Bài viết
    2,957
    Like
    105
    Thanked 365 Times in 209 Posts

    So sánh giữa ASP.NET Web Form và MVC.NET MVC

    Link Anh: http://msdn.microsoft.com/en-us/magazine/dd942833.aspx

    Link Việt:
    1. http://www.facebook.com/note.php?note_id=96039204213
    2. http://tumivn.com/post/2011/11/15/To...SPNET-MVC.aspx

    Bình luận:

    Có lẽ khá ít bạn biết là ASP có đến ... 3 loại

    1 là ASP, hay còn gọi là ASP Classic, đây là loại cổ điển nhất của ASP. thời tôi còn dạy Aptech (2008-2010) thì Aprotrain Aptech và FPT Aptech vẫn còn dạy cái thể loại này, giờ không biết đã bỏ chưa. Cách code ngôn ngữ ASP này khá giống với code PHP, tiếc là trong khi PHP có rất nhiều Framework và phát triển rất mạnh thì ngôn ngữ này không có 1 Framework chính thống nào, không còn được Microsoft hỗ trợ và đang trên con đường lụi tàn. Trước đây, một số web lớn được code bằng ngôn ngữ này như vnexpress.net, sohoa ... lý do theo tôi nghĩ là họ đã mất công xây dựng một Framework khá mạnh của họ dựa trên ASP từ giai đoạn trước khi ASP.NET phát triển và việc chuyển đổi sang nền tảng khác đòi hỏi chi phí khá lớn, hiện nay nghe đồn là vnexpress chuyển sang dùng PHP.

    2 là ASP.NET Framework, thường được gọi tắt là ASP.NET, đây là khung sườn được dạy ở đa số Đại Học, Trung Tâm (Aptech, NIIT) ... ở VN, chúng còn được biết đến với cái tên ASP.NET MVP (chữ P là viết tắt của Presentor) hoặc là ASP.NET WebForm (tên này phổ biến hơn). Đây là một sáng tạo của Microsoft nhằm thống nhất việc phát triển web và phần mềm, đáng tiếc là ý tưởng này có nhiều sai lầm (các bạn đọc mấy link ở trên sẽ rõ sai lầm thế nào).

    3 là ASP.NET MVC Framework, hay gọi tắt là ASP.NET MVC (C là viết tắt của Controller) đây là cách mà Microsoft khắc phục sai lầm ở trên đã nói. Tiếc là ở VN rất ít nơi đào tạo cái này (tôi search thử thì ra rất ít, 2, 3 nơi gì đó, bạn nào biết thì chỉ giùm nhé).
    Với những bạn không vào được Facebook, tôi copy bài viết ra cho đọc luôn:


    Trong bài báo số tháng 7 của MSDN, Dino Esposito so sánh nhiều mặt khác nhau giữa lập trình web dùng Web Form và MVC.

    Tôi (tức là bạn Cường, tác giả bài viết) xin một viết một bài có tiêu đề tương tự, phần nội dung một số đoạn tham khảo từ bài viết của Dino, phần lớn còn lại từ kinh nghiệm lập trình thực tế với ASP.net Web Form 2.0 và ASP.net MVC 3.5.

    Dino viết “Dựa trên server controls, ASP.net cho xây dựng ứng dụng web mà chỉ cần tối thiểu kỹ năng về HTML và JavaScript. Ưu điểm của ASP.net đó là năng suất cao có được nhờ control, thư viện mạnh tích hợp lúc chạy cũng như cung cấp công cụ lập trình với số lượng phong phú server control, user control, postback, viewstate, form authentication và những control cơ bản. Mô hình WebForm của ASP.net rõ ràng là thừa kế mô hình Windows Form và sâu hơn nữa là tư tưởng Visual Basic Rapid Application Development.”

    Liệt kê các ưu điểm của ASP.net Web Form (Cường bổ sung thêm một số ý):

    1- Thiết kể bằng kéo thả, không phải viết code HTML nhiều. Bạn nào dùng Grid View, List View sẽ thấy.

    2- Độ ổn định cao, được Microsoft liên tục phát triển từ năm 2000 đến nay. Trang vnexpress.net, online news số 1 ở VN được xây dựng từ ASP rồi chuyển lên ASP.net. Giao diện đơn giản, thân thiện, có số lượng độc giả rất lớn. Trang DanTri.com.vn cũng là một ví dụ tốt.

    3- Mô hình cơ bản của ASP.net Web Form đó là event driven. Ví dụ sự kiện Click của Button sẽ được sinh mã xử lý sự kiện ở trang Code Behind. Để làm được việc này cơ chế PostBack, ViewState được sử dụng để biến trang web vốn bản chất là stateless, không lưu trạng thái, trở thành có trạng thái, stateful như ứng dụng Desktop client.

    4- ASP.net Web Form có xu hướng đóng gói (componentization) tất cả những gì được coi là tốt, cần tận dụng lại trong lập trình ASP.net như tự động điền dữ liệu vào trường khi trang load lại, xử lý xác thực và phân quyền ngày trước khi trang load lại, Web Control, User Control, Web Part…. Công nghệ đóng gói các control dùng lại đã tạo nên thị trường hết sức sôi động cho các hãng phần mềm thứ ba sáng tạo mới những control để thương mại, ví dụ như Telerik, ComponentOne, DevExpress,…. Người được hưởng lợi chính là những lập trình viên web. Họ chỉ cần tập trung vào tầng CSDL, xử lý logic và lập trình hứng các sự kiện. Năng suất, khả năng phát triển nhanh ứng dụng web hướng dữ liệu đó chính là lợi điểm của ASP.net

    Đâu là nhược điểm của ASP.net Web Form?

    Tính chất Separate of Concern là một tiêu chí để đánh giá một ứng dụng có dễ phát triển, dễ bảo trì, dễ kiểm thử…. Tách bạch sự quan tâm, ở đây hiểu là từng bộ phận của chương trình có thể tách ra để kiểm tra. Thực tế cho thấy máy tính có cấu tạo phức tạp hơn một chiếc Tivi rất nhiều, tuy nhiên do thiết kế module – interface, mà chúng ta dễ dàng kiểm tra, phát hiện pan của máy tính do bộ phận nào gây nên hơn Tivi. Hơn nữa, máy tính dễ dàng nâng cấp, thay mới, còn Tivi thì gần như không thể trừ khi một thợ điện tử có kinh nghiệm lâu năm với một cái mỏ hàn để nhổ vi mạch cần thay thế.

    Thêm một ví dụ nữa đó là HTML và CSS. HTML mô tả cấu trúc các thẻ, thành phần HTML. CSS định nghĩa định dạng, phong cách thể hiện của thành phần HTML. Tương XML và XSLT.

    Do bản chất của Web Form đó là sự đóng gói cao. Trong một web control sẽ bao gồm cả phần sinh mã HTML, CSS, JavaScript, mã hứng sự kiện…. Rõ ràng tính đóng gói cao, chặt chẽ lại ảnh hưởng không nhỏ đến tiêu chí Separate of Concern. Điển hình là control SQLDataSource được kéo vào trang aspx thì cần có luôn các lệnh SQL như SELECT, INSERT, DELETE…. Tiện thì có tiện nhưng thấy kỳ kỳ, câu lệnh SQL nằm luôn ở trang aspx, nơi ưu tiên dành cho việc thiết kế giao diện. Phía hông cái Tivi nhà bạn lại hở ra những bảng mạch điện: tụ, điện trở, cuộn cảm, IC chạy loằng ngoằng.

    Việc nhúng các thư viện JavaScript như jQuery, Dojo, MooTools vào WebForm không khó nhưng để tương tác với những web control thì lại rất phức tạp, rối rắm. Ví dụ trong một control, nếu có một hyperlink được hứng sự kiện ở phía code behind, thì có nghĩa mọi logic lập trình viên muốn can thiệp đều phải viết trong hàm sự kiện này. Hệ quả là hầu hết các tương tác trên form đều phải submit lên máy chủ để hứng sự kiện. Microsoft AJAX Control Toolkit, UpdatePanel ra đời, việc submit cả trang cũng giảm bớt, nhưng lập trình viên thạo JavaScript cũng không có cơ hội chọc ngoáy vào tương tác của từng control đơn giản bởi vì thay vì submit cả trang, giờ chỉ submit các thành phần trong UpdatePanel. Lại phát sinh nhu cầu, control A trong UpdatePanelX muốn tương tác với control B trong UpdatePanelY thì làm thế nào? Tất nhiên là làm được, nhưng phải dùng thêm nào là Trigger…. nói chung là khá rối
    Được sửa bởi zmt264 lúc 17:53 ngày 29-06-2013
    Thông tin + clip: http://youtube.com/hoctudau
    Quote Quote

  2. 2 thành viên Like bài viết này:


  3. #2
    Tham gia
    31-10-2008
    Location
    C:\Windows\Temp
    Bài viết
    274
    Like
    0
    Thanked 1 Time in 1 Post
    Cái web form nó chưa chết àk . Cái ý tưởng ngu xuẩn khi đánh đồng win form với web form.... Web thì phải để cho người ta tự sáng tạo theo nhiều cách thức khác nhau. Ôm khư khư cách tiếp cập = phương pháp kéo thả với quản lý sự kiện thì khốn nạn thật .

    Thử một điều đơn giản ví như làm cái wall như facebook mà làm với web form thì có mà bị hâm nặng. Tất nhiên là làm được nhưng chỉ làm khổ mình thôi.

  4. #3
    Tham gia
    13-12-2006
    Location
    TPHCM
    Bài viết
    559
    Like
    9
    Thanked 47 Times in 39 Posts
    Trong khi PHP với rất nhiều Framework đi theo mô hình MVC từ rất sớm thì ASP.NET của bác Bill mãi về sau này mới chịu đi theo chuẩn MVC, lúc trước thì hỡi ôi, web form kéo thả loạn xà ngầu, sau này mở code ra như 1 đống bùi nhùi!

  5. #4
    Tham gia
    08-04-2012
    Bài viết
    241
    Like
    17
    Thanked 48 Times in 40 Posts
    bác Bill nghỉ ngơi rồi, tránh lôi kéo ổng vô mấy việc ổng ko làm nữa đi.

  6. #5
    Tham gia
    23-01-2005
    Location
    http://hoctudau.com
    Bài viết
    2,957
    Like
    105
    Thanked 365 Times in 209 Posts
    Quote Được gửi bởi seaurchin View Post
    Trong khi PHP với rất nhiều Framework đi theo mô hình MVC từ rất sớm thì ASP.NET của bác Bill mãi về sau này mới chịu đi theo chuẩn MVC, lúc trước thì hỡi ôi, web form kéo thả loạn xà ngầu, sau này mở code ra như 1 đống bùi nhùi!
    Thực ra với những dạng web cần LÀM NHANH và thiên về NGHIỆP VỤ (ví dụ web quản lý cửa hàng ăn ...), phục vụ số người truy cập KHÔNG QUÁ LỚN ... thì ASP.NET Web Form cũng có lợi thế đấy, nhưng với các thể loại web khác (dạng như Facebook chẳng hạn) mà tương nó vào thì sẽ mệt.
    Thông tin + clip: http://youtube.com/hoctudau

  7. #6
    Tham gia
    10-03-2012
    Location
    Nha Trang
    Bài viết
    192
    Like
    3
    Thanked 33 Times in 31 Posts
    Ai nói webform là kéo thả, kéo thả là để làm cho nhanh. Nếu ko thích kéo thả mấy thím dùng vòng lặp in div ra thay vì sử dụng gridview hay datalist cũng được, tuy là có phần mệt hơn nhưng đó là dành cho thím nào thích tùy biến. Cách thức nào cũng được, mô hình nào cũng vậy, code thành 1 đống bùi nhùi là do cách sắp xếp của người viết. Chữ xấu thì đổ lỗi tại giấy kẻ khung sai à.

  8. #7
    Tham gia
    23-01-2005
    Location
    http://hoctudau.com
    Bài viết
    2,957
    Like
    105
    Thanked 365 Times in 209 Posts
    Quote Được gửi bởi chet7h45 View Post
    Ai nói webform là kéo thả, kéo thả là để làm cho nhanh. Nếu ko thích kéo thả mấy thím dùng vòng lặp in div ra thay vì sử dụng gridview hay datalist cũng được, tuy là có phần mệt hơn nhưng đó là dành cho thím nào thích tùy biến. Cách thức nào cũng được, mô hình nào cũng vậy, code thành 1 đống bùi nhùi là do cách sắp xếp của người viết. Chữ xấu thì đổ lỗi tại giấy kẻ khung sai à.
    Đúng là không đơn thuần chỉ có kéo thả, và đúng là vẫn có thể cho ra code đẹp được ... chưa kể có thể dùng Adapter, ví dụ CSS Adapter cho các Controls, nhưng thiết nghĩ lợi và hại của nó thì ở đầu topic cũng phân tích rồi và ở đầu topic mình cũng ko hề chê là là nó sinh ra code xấu (trước mình làm ASP.NET WebForm rồi, cũng làm Adapter rồi)

    Có điều phải cũng phải thừa nhận là đa phần web ASP.NET code clientside sinh ra rất tệ hại, nói về đa số thôi.
    Thông tin + clip: http://youtube.com/hoctudau

  9. Thành viên Like bài viết này:


  10. #8
    Tham gia
    23-01-2005
    Location
    http://hoctudau.com
    Bài viết
    2,957
    Like
    105
    Thanked 365 Times in 209 Posts
    nghe đồn là vnexpress chuyển sang dùng PHP thì phải?
    Thông tin + clip: http://youtube.com/hoctudau

  11. #9
    Tham gia
    14-12-2005
    Bài viết
    139
    Like
    5
    Thanked 10 Times in 8 Posts
    Các báo chủ yếu dùng ASP.NET trên nên SHAREPOINT nhé, giao diện được code riêng thôi. Những site lớn như gmail, Office365 vẫn dùng ASP.NET

    Nói về Control thì ASP.NET có rất nhiều công cy lớn viết các Control cho giá cũng rất chát, nhưng đó là những thứ rất tuyệt vời nếu bạn làm chủ được nó và phải xem khả năng code của chúng ta nữa. Không phải kéo thả mà ra một website.

    Mình vẫn thích code ASP.NET/ ASP.NET MVC:
    1. Do mình chuyên Windows: nên lập trình và quản trị dễ dàng hơn.
    2. Site mình liên kết với ứng dụng trên Windows, nên chọn MSSQL làm CSDL
    3. Phần mềm hỗ trợ mạnh (VS2010, VS2012)
    4. Control DevExpress mạnh mẽ
    5. Dễ dàng xây dựng một thư viện, control riêng cho mình
    6. Khả năng Debug mạnh

    @Mình không chê PHP vì không rành nó, chỉ nói lên những gì mình thích ở ASP.NET

  12. #10
    Tham gia
    15-10-2007
    Bài viết
    1,792
    Like
    29
    Thanked 155 Times in 107 Posts
    Quote Được gửi bởi zmt264 View Post
    nghe đồn là vnexpress chuyển sang dùng PHP thì phải?
    hỏi thằng mấy thằng trong fpt online xem
    cannot be longer than 50 characters

Trang 1 / 2 12 LastLast

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •