Table of Contents
回复内容:
Home Backend Development PHP Tutorial 为什么ASP.NET拖控件快速开发的特性被很多专业程序员所唾弃?

为什么ASP.NET拖控件快速开发的特性被很多专业程序员所唾弃?

Jun 17, 2016 am 08:32 AM
web

我不止在一个地方看到过说拒绝拖控件编程,在很多贴吧论坛以及视频教程的老师都表示不要拖控件编程,微软当初做webfrom的初衷就是为了让web开发更加快速简单,可是为什么这么好的一个产品(或者编程方式)反而被人唾弃呢?

回复内容:

因为有些程序员【只会拖控件】是个问题= =;ASP.NET【能拖控件】是好事


当然最最重要的是,双方都无知,嘲讽的人无知,一些被嘲讽的人无知到活该被嘲讽的地步。。。 拖控件不是问题,只会拖控件才是问题。 基础功能可满足,但是很难控制精细,满足不了后期需求。 webform为了让网页感觉上是保持状态的,把html都封装的不像html了,整个网页都包含在form里头,提交都是post。问题不在控件,拖控件只是利用轮子而已。 拖控件并不是在任何时候都一无是处,只是在特定的此时此地,它的缺点比优点更大而已。
拖控件,其实就是黑框框的简单替代品,是一个本来只会写命令行的程序员,现在需要一个凑合的GUI。这个场景有四个特点:
  1. UI逻辑简单。
  2. UI逻辑和程序逻辑分离。
  3. 程序对UI需求少。
  4. 程序员不熟悉UI编程。
你说,现在这些web应用,哪个敢说自己界面不要了,摆个命令行上来,还有人用?有这种条件的,他就可以拖控件。然而,现在的这些web应用,用户交互就是生命,哪个程序员敷衍界面,就是在敷衍自己的饭碗。所以,这里的专业程序员,只是对广大前端来说的,如果你只会拖控件,你就不是一个专业的前端程序员。
然而还有很多写专业软件的程序员,他们需要一个GUI只是因为用的人不会命令行。写的人和用的人都专业在领域专业知识上,没有时间仔细研究广大的前端知识,他们不是不专业,只是专业的方向不一样。 asp.net 现在有mvc框架,已经成功避免了拖控件这种简单枯燥,对程序员没有挑战的工作 拖控件让好多初级程序员以为这就是web开发了,其实他看到的只是经过n层封装后的一个傻瓜式开发方式。webform为了保持页面状态自己维护了一个viewstate,把所有和页面相关的东西都塞到了这个里面,造成的结果是很慢。实际上webform是把winform的思想在web端的移植,从效果来看,这种移植是不恰当的。当然,拖控件也不是一无是处,开发效率高,做个几百人用的企业级管理应用还是可以胜任的,互联网应用,拖控件是搞不定的。 首先,很多人只会拖控件,懒省事。并且很多人不思进取,就停留在拖控件。

其次,webform当初是为了抢占市场的,生成的web页面也跟ie6一样,很不标准(话说body下先嵌套一层form我也是醉了),并且有不少的html代码是控件生成的,不利于跟美工合作,依稀记得当时公司招美工,要求会.net优先,醉了

最后,b/s发展到现在,分工更明确,层次更突出。尤其重视前端代码,form表单包容所有其它元素,最傻逼的写法了,更别说为了追求速度,header头都各种节约,你再来个一长串的viewstate隐含域。

mvc的出现,不纯粹是为了mvc,也为了让产出更标准。11年mvc3出来,本人就直接抛弃了webform。15年了还有很多比我工作年龄长的人在考虑从webform转mvc,额~~ 刚刚开始学的时候也是从视频开始,各种黑拖控件,然后也就盲目跟着黑。实际做了一段时间开发之后,发现这种模式在小项目上用起来还是挺顺手的。 因为无知啊
这些bs别人的人too young too simple,并不懂得以下两个pattern:
  • Smart UI
  • Magic Button
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use python+Flask to realize real-time update and display of logs on web pages How to use python+Flask to realize real-time update and display of logs on web pages May 17, 2023 am 11:07 AM

1. Log output to file using module: logging can generate a custom level log, and can output the log to a specified path. Log level: debug (debug log) = 5) {clearTimeout (time) // If all results obtained 10 consecutive times are empty Log clearing scheduled task}return}if(data.log_type==2){//If a new log is obtained for(i=0;i

How to use Nginx web server caddy How to use Nginx web server caddy May 30, 2023 pm 12:19 PM

Introduction to Caddy Caddy is a powerful and highly scalable web server that currently has 38K+ stars on Github. Caddy is written in Go language and can be used for static resource hosting and reverse proxy. Caddy has the following main features: Compared with the complex configuration of Nginx, its original Caddyfile configuration is very simple; it can dynamically modify the configuration through the AdminAPI it provides; it supports automated HTTPS configuration by default, and can automatically apply for HTTPS certificates and configure it; it can be expanded to data Tens of thousands of sites; can be executed anywhere with no additional dependencies; written in Go language, memory safety is more guaranteed. First of all, we install it directly in CentO

How to implement form validation for web applications using Golang How to implement form validation for web applications using Golang Jun 24, 2023 am 09:08 AM

Form validation is a very important link in web application development. It can check the validity of the data before submitting the form data to avoid security vulnerabilities and data errors in the application. Form validation for web applications can be easily implemented using Golang. This article will introduce how to use Golang to implement form validation for web applications. 1. Basic elements of form validation Before introducing how to implement form validation, we need to know what the basic elements of form validation are. Form elements: form elements are

Using Jetty7 for Web server processing in Java API development Using Jetty7 for Web server processing in Java API development Jun 18, 2023 am 10:42 AM

Using Jetty7 for Web Server Processing in JavaAPI Development With the development of the Internet, the Web server has become the core part of application development and is also the focus of many enterprises. In order to meet the growing business needs, many developers choose to use Jetty for web server development, and its flexibility and scalability are widely recognized. This article will introduce how to use Jetty7 in JavaAPI development for We

How to configure nginx to ensure that the frps server and web share port 80 How to configure nginx to ensure that the frps server and web share port 80 Jun 03, 2023 am 08:19 AM

First of all, you will have a doubt, what is frp? Simply put, frp is an intranet penetration tool. After configuring the client, you can access the intranet through the server. Now my server has used nginx as the website, and there is only one port 80. So what should I do if the FRP server also wants to use port 80? After querying, this can be achieved by using nginx's reverse proxy. To add: frps is the server, frpc is the client. Step 1: Modify the nginx.conf configuration file in the server and add the following parameters to http{} in nginx.conf, server{listen80

Real-time protection against face-blocking barrages on the web (based on machine learning) Real-time protection against face-blocking barrages on the web (based on machine learning) Jun 10, 2023 pm 01:03 PM

Face-blocking barrage means that a large number of barrages float by without blocking the person in the video, making it look like they are floating from behind the person. Machine learning has been popular for several years, but many people don’t know that these capabilities can also be run in browsers. This article introduces the practical optimization process in video barrages. At the end of the article, it lists some applicable scenarios for this solution, hoping to open it up. Some ideas. mediapipeDemo (https://google.github.io/mediapipe/) demonstrates the mainstream implementation principle of face-blocking barrage on-demand up upload. The server background calculation extracts the portrait area in the video screen, and converts it into svg storage while the client plays the video. Download svg from the server and combine it with barrage, portrait

What are web standards? What are web standards? Oct 18, 2023 pm 05:24 PM

Web standards are a set of specifications and guidelines developed by W3C and other related organizations. It includes standardization of HTML, CSS, JavaScript, DOM, Web accessibility and performance optimization. By following these standards, the compatibility of pages can be improved. , accessibility, maintainability and performance. The goal of web standards is to enable web content to be displayed and interacted consistently on different platforms, browsers and devices, providing better user experience and development efficiency.

How to enable administrative access from the cockpit web UI How to enable administrative access from the cockpit web UI Mar 20, 2024 pm 06:56 PM

Cockpit is a web-based graphical interface for Linux servers. It is mainly intended to make managing Linux servers easier for new/expert users. In this article, we will discuss Cockpit access modes and how to switch administrative access to Cockpit from CockpitWebUI. Content Topics: Cockpit Entry Modes Finding the Current Cockpit Access Mode Enable Administrative Access for Cockpit from CockpitWebUI Disabling Administrative Access for Cockpit from CockpitWebUI Conclusion Cockpit Entry Modes The cockpit has two access modes: Restricted Access: This is the default for the cockpit access mode. In this access mode you cannot access the web user from the cockpit

See all articles