Third Party web controls and tight coupling

Disclaimer: I am not against third-party controls because I believe it’s for productivity

I have used Telerik asp.net controls, especially the RadGrid because it makes it easier to do CRUD. They have fantastic controls.

I thought I would do the same for asp.net mvc but looking at the code involved scares me.

I saw another site (syncfusion.com) today offering the same mvc controls and when you look at the UI, they are appealing and so arethe functions/features.

My issue with these nice/appealing controls are:

  • I feel like it is taking the control I have over the HTML which is one of the benefits of asp.net mvc
  • I cannot see the HTML until the page is run, and viewing the source code
  • I feel there is a coupling between the data and the design. The web designer needs to learn Telerik/Syncfusion way of doing things. He won’t be able to use the HTML he is familiar with
  • Razor looks like a template mixing with HTML and can be replaced with hand-coded value for presentation and testing which can be replace later

I believe the following code has taken over my HTML and I have little control over them

@section SampleHeading{<span class="sampleName"> Grid/Data Binding/Remote Data</span>}
@section ControlsSection{
@(Html.EJ().Grid<OrdersView>("RemoteBinding")
    .Datasource("http://mvc.syncfusion.com/Services/Northwnd.svc/Orders/")
    .AllowPaging()
    .PageSettings(page => { page.PageSize(9); })
    .Columns(col =>
    {            
        col.Field("CustomerID").HeaderText("Customer ID").Width(90).Add();
        col.Field("EmployeeID").HeaderText("Employee ID").TextAlign(TextAlign.Right).Width(75).Add();
        col.Field("Freight").HeaderText("Freight").TextAlign(TextAlign.Right).Width(75).Format("{0:C}").Add();
        col.Field("ShipCity").HeaderText("Ship City").Width(100).Add();
        col.Field("OrderDate").Format("{0:MM/dd/yyyy}").Width(100).TextAlign(TextAlign.Right).Add();
        col.Field("ShipCountry").HeaderText("Ship Country").Width(100).Add();
    })
  )
}

Should one sacrifice simplicity/control over productivity? When and why?

0

Short answer: yes.

While we’d all like to tinker around and build neat things there will always be the need of shipping the darn thing before going out of business.

Long answer: it depends.

Requirements and the skill level of the team can influence the decision of choosing one over the other, having both or having none.

With a tight deadline comes focus on productivity and little time to tinker. If the requirements restrict the use of third party controls (mostly because of the overhead on generated markup and resources) then the team is responsible of coming up with the needed components. If the requirements don’t restrict the use of third party controls, then the logical decision would be to use some existing controls, as it will take longer to build new ones than customize what’s already there.

Loose deadlines give some time to experiment and the decision can be made to build the controls instead of using existing ones. Experience can be gained from this and is beneficial to the team in the long run. Even so, third parties are chosen in most cases because there are so many things to consider when building custom controls and they might take longer to build than the entire application that is using them.

Note that third party controls are built with generality in mind and don’t fit all the possible scenarios. Hence the multitude of configuration options available and the inherent (and apparent) complexity. And while they allow some degree of control over the generated markup it’s not possible to get 100% due to the fact that some of that markup is vital to how they work.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa

Third Party web controls and tight coupling

Disclaimer: I am not against third-party controls because I believe it’s for productivity

I have used Telerik asp.net controls, especially the RadGrid because it makes it easier to do CRUD. They have fantastic controls.

I thought I would do the same for asp.net mvc but looking at the code involved scares me.

I saw another site (syncfusion.com) today offering the same mvc controls and when you look at the UI, they are appealing and so arethe functions/features.

My issue with these nice/appealing controls are:

  • I feel like it is taking the control I have over the HTML which is one of the benefits of asp.net mvc
  • I cannot see the HTML until the page is run, and viewing the source code
  • I feel there is a coupling between the data and the design. The web designer needs to learn Telerik/Syncfusion way of doing things. He won’t be able to use the HTML he is familiar with
  • Razor looks like a template mixing with HTML and can be replaced with hand-coded value for presentation and testing which can be replace later

I believe the following code has taken over my HTML and I have little control over them

@section SampleHeading{<span class="sampleName"> Grid/Data Binding/Remote Data</span>}
@section ControlsSection{
@(Html.EJ().Grid<OrdersView>("RemoteBinding")
    .Datasource("http://mvc.syncfusion.com/Services/Northwnd.svc/Orders/")
    .AllowPaging()
    .PageSettings(page => { page.PageSize(9); })
    .Columns(col =>
    {            
        col.Field("CustomerID").HeaderText("Customer ID").Width(90).Add();
        col.Field("EmployeeID").HeaderText("Employee ID").TextAlign(TextAlign.Right).Width(75).Add();
        col.Field("Freight").HeaderText("Freight").TextAlign(TextAlign.Right).Width(75).Format("{0:C}").Add();
        col.Field("ShipCity").HeaderText("Ship City").Width(100).Add();
        col.Field("OrderDate").Format("{0:MM/dd/yyyy}").Width(100).TextAlign(TextAlign.Right).Add();
        col.Field("ShipCountry").HeaderText("Ship Country").Width(100).Add();
    })
  )
}

Should one sacrifice simplicity/control over productivity? When and why?

0

Short answer: yes.

While we’d all like to tinker around and build neat things there will always be the need of shipping the darn thing before going out of business.

Long answer: it depends.

Requirements and the skill level of the team can influence the decision of choosing one over the other, having both or having none.

With a tight deadline comes focus on productivity and little time to tinker. If the requirements restrict the use of third party controls (mostly because of the overhead on generated markup and resources) then the team is responsible of coming up with the needed components. If the requirements don’t restrict the use of third party controls, then the logical decision would be to use some existing controls, as it will take longer to build new ones than customize what’s already there.

Loose deadlines give some time to experiment and the decision can be made to build the controls instead of using existing ones. Experience can be gained from this and is beneficial to the team in the long run. Even so, third parties are chosen in most cases because there are so many things to consider when building custom controls and they might take longer to build than the entire application that is using them.

Note that third party controls are built with generality in mind and don’t fit all the possible scenarios. Hence the multitude of configuration options available and the inherent (and apparent) complexity. And while they allow some degree of control over the generated markup it’s not possible to get 100% due to the fact that some of that markup is vital to how they work.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa

Third Party web controls and tight coupling

Disclaimer: I am not against third-party controls because I believe it’s for productivity

I have used Telerik asp.net controls, especially the RadGrid because it makes it easier to do CRUD. They have fantastic controls.

I thought I would do the same for asp.net mvc but looking at the code involved scares me.

I saw another site (syncfusion.com) today offering the same mvc controls and when you look at the UI, they are appealing and so arethe functions/features.

My issue with these nice/appealing controls are:

  • I feel like it is taking the control I have over the HTML which is one of the benefits of asp.net mvc
  • I cannot see the HTML until the page is run, and viewing the source code
  • I feel there is a coupling between the data and the design. The web designer needs to learn Telerik/Syncfusion way of doing things. He won’t be able to use the HTML he is familiar with
  • Razor looks like a template mixing with HTML and can be replaced with hand-coded value for presentation and testing which can be replace later

I believe the following code has taken over my HTML and I have little control over them

@section SampleHeading{<span class="sampleName"> Grid/Data Binding/Remote Data</span>}
@section ControlsSection{
@(Html.EJ().Grid<OrdersView>("RemoteBinding")
    .Datasource("http://mvc.syncfusion.com/Services/Northwnd.svc/Orders/")
    .AllowPaging()
    .PageSettings(page => { page.PageSize(9); })
    .Columns(col =>
    {            
        col.Field("CustomerID").HeaderText("Customer ID").Width(90).Add();
        col.Field("EmployeeID").HeaderText("Employee ID").TextAlign(TextAlign.Right).Width(75).Add();
        col.Field("Freight").HeaderText("Freight").TextAlign(TextAlign.Right).Width(75).Format("{0:C}").Add();
        col.Field("ShipCity").HeaderText("Ship City").Width(100).Add();
        col.Field("OrderDate").Format("{0:MM/dd/yyyy}").Width(100).TextAlign(TextAlign.Right).Add();
        col.Field("ShipCountry").HeaderText("Ship Country").Width(100).Add();
    })
  )
}

Should one sacrifice simplicity/control over productivity? When and why?

0

Short answer: yes.

While we’d all like to tinker around and build neat things there will always be the need of shipping the darn thing before going out of business.

Long answer: it depends.

Requirements and the skill level of the team can influence the decision of choosing one over the other, having both or having none.

With a tight deadline comes focus on productivity and little time to tinker. If the requirements restrict the use of third party controls (mostly because of the overhead on generated markup and resources) then the team is responsible of coming up with the needed components. If the requirements don’t restrict the use of third party controls, then the logical decision would be to use some existing controls, as it will take longer to build new ones than customize what’s already there.

Loose deadlines give some time to experiment and the decision can be made to build the controls instead of using existing ones. Experience can be gained from this and is beneficial to the team in the long run. Even so, third parties are chosen in most cases because there are so many things to consider when building custom controls and they might take longer to build than the entire application that is using them.

Note that third party controls are built with generality in mind and don’t fit all the possible scenarios. Hence the multitude of configuration options available and the inherent (and apparent) complexity. And while they allow some degree of control over the generated markup it’s not possible to get 100% due to the fact that some of that markup is vital to how they work.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật