首先祝大家新年快乐。万事如意。

开发网站程序也有一些年头了,从最初的静态HTML+ JS,到后来的WebForm,然后过渡到现在的MVC。

由于最近做一些技术调研,也接触了很多移动开发,iOS和Android的东西也知道点,会做一些简单的app。

做移动app做多了,再回头看网站开发,我开始怀疑,我们到底需不需要ASP.NET MVC这样的框架?

网站的本质就是 HTML + CSS +JS + HTTP(TCP/IP)协议 + 可以响应HTTP协议的服务器。

移动app的本质是 移动UI +  HTTP(TCP/IP)协议 + 可以响应HTTP协议的服务器。

其实,他们没有多少本质区别,所以,现在各种 Hybird App 大行其道。

我们经常说,前后端分离,真正操作的时候,或多或少都会违反这个原则。

在真正做好一个前后端分离的系统,其实可以强迫这个系统现实 移动app和网站共享的功能。

如果一开始的目标就是移动网站共享内容,则设计的时候,就是围绕REST的API开始的,而不是前后端杂糅的Razor的设计。

对于一些老的程序员,习惯MVC的人来说,必然会有些反感,毕竟传统的做法,开发效率非常高,一个小型的网站,可以用小时来计算开发时间。

如果改用新的方法,页面和服务器只是通过AJAX来通讯,则非常考验前端的水平。

AngularJS 或者 ReactJS这样的框架虽然不是必须的,但是如果可以的话,在深入理解的前提下,可以使用。

WebPack,Gulp,Nodejs这些东西,也会随着AngularJS,ReactJS的引入而进入工作范围之内。

这样做的结果就是 MVC里面,

V完全在前端,这个毫无疑问

数据库关联的业务逻辑M完全在服务器端(购物车计算总价格,复核,扣款),前端也会处理一些简单的业务逻辑(购物车计算总价格,只是初步计算,不作为服务器处理凭证),

C的话,基本上变得极其薄了,被Angular或者React和他们的衍生品取代了。或者说,C的话,变成了前端的C和后端的C。

MVC的核心功能:路由,数据和表单绑定,数据验证

数据验证,TypeScript(强数据类型),ES6(完整正则功能)都可以处理了。原本MVC也是靠JS+特性标签做到数据表单验证的。

现在的前端也开始慢慢引入强数据类型的概念了。React框架的prop也是支持强类型的。

数据验证,Razor基本上可以完全被前端框架取代了,(当然,微软在模板上暧昧的态度也值得吐槽一下,Razor之后又推出智能标签(MVC6),原本觉得模板应该像后端,现在觉得模板应该像前端)

路由倒是一个我不熟悉的领域,不发表意见。

将来的网站开发,在大数据和越来越成熟的各种服务的帮助下,可能核心价值会发生很大的变化。

以前我们需要做一个登陆,注册的页面,现在可以直接用微信,QQ,微博进行注册和登陆了,这些功能可以简化了。

像博客园这样的网站,UGC,各种现成的UGC可以直接拿来使用,各领域的内容管理系统,内容的数据挖掘,内容分析,UGC到知识库的整理将变成UGC网站的核心价值。

一个UGC网站的价值不仅仅是提供写作平台,而是如何通过大数据手段,提炼数据中的内容,分类,整理,自动摘要和归档。

如果做不到这一点,即使以后界面再漂亮,也是一个除了用户和文章,什么都没有的网站。

转载于:https://www.cnblogs.com/TextEditor/p/5183896.html

思考:用开发移动app的观念来开发网站相关推荐

  1. 用PHP开发手机 APP应用API接口开发

    这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发 ...

  2. 基于android的简单网页_成都APP开发:APP原生和网页开发有什么区别?

    现在市面上的APP主要分为原生与网页开发两种模式,下面小编就分别针对APP的原生开发和网页开发两者间的优势和劣势介绍一下两者间的区别,希望帮助大家更好的了解这两种开发模式. 原生优势 1)运行速度比较 ...

  3. 开发Android app需要掌握的技术

    最近一直在忙着工作的事,很久没有更新博客了,今天突发奇想要把自己学到的android方面的知识记录下来,一方面是为了系统的回顾一下知识点自己的学习路线,另一方面希望能帮到更多初学的朋友.学习andro ...

  4. android开发 重启app

    android开发 重启app 我们在android开发的过程中,可能遇到过这样的情况,当数据加载完成,或者从服务器下载文件完成,需要重启 app才会生效. 实现这个功能很简单,只需在需要重启的地方加 ...

  5. APP定制开发:APP软件开发的语言和开发环境

    APP软件开发是移动互联网开发公司常开发的一种手机应用系统,对于刚刚进入APP软件开发领域的新手来说,选择什么编程语言和需要什么开发环境来开发APP软件是常遇到的问题.下面亿合科技小编来为大家分享下: ...

  6. 开发一个APP多少钱?

    开发一个APP多少钱? 开发一个APP要多少钱?相信不光是客户有这个疑问,就算是一般的程序员也想知道答案.很多程序员想在业余时间接外包挣外快,但是他们常常不知道该如何定价,如何有说服力的要价.这是因为 ...

  7. python安卓应用程序开发,python怎么开发安卓app

    python可以写软件么怎么写? 22点24分准时推送,第一时间送达编辑:技术君 | 来源:youerning上一篇:正文前言用 Python 写安卓 APP 肯定不是最好的选择,目前用Java和 k ...

  8. 如何用天纵手机APP快速开发框架开发手机APP

    标题:如何用天纵手机APP快速开发框架开发手机APP 简介: 使用天纵软件快速开发平台开发手机APP不需要懂开发语言和进行编码工作,只需配置业务逻辑和界面样式即可.她颠覆了传统手机APP开发成本高.难 ...

  9. 北京软件开发商城app系统软件开发大概多少钱

    北京软件开发商城app系统软件开发大概多少钱 1.app软件的一个开发功能难易度 开发一个商城app要多少钱?App功能是一个商城APP应用开发的核心,一般APP商城复杂的功能和简单的功能,开发价钱肯 ...

最新文章

  1. linux的文件压缩与解压缩,linux(文件压缩与解压缩)
  2. UE4异步编程专题 - 线程池FQueuedThreadPool
  3. Android中的AutoCompleteTextView组件
  4. azure api 管理_使用API​​使用Azure Cosmos DB进行图形数据库实现
  5. (转)http接口测试——Jmeter接口测试实例讲解
  6. 计算机设计思想 —— 虚拟化
  7. 如何优化项目进度管理
  8. linux 无法创建目录权限不够
  9. php将ppt转jpg图片的具体步骤代码
  10. 宝来客分享:大瓜!董事长沈东军举报大舅子,莱绅通灵不“灵”了
  11. 称为超级计算机,怎样的计算机被称为“巨型计算机”呢?
  12. php artisan migrate,关于laravel 5.1下php artisan migrate的使用
  13. LabVIEW练习16
  14. 比利时和德国啤酒品牌
  15. Bootstrap学习(六)响应式嵌入、well、分页符、label、徽章、巨幕、警告框、进度条
  16. Android网页浏览器开发详解(一)
  17. wordpress用户注册_如何在WordPress网站上允许用户注册
  18. mysql kill 1095_mysql root用户kill connection报ERROR 1095 (HY000): You are not owner of thread N
  19. sql中日期和时间戳的相互转换
  20. 26对称矩阵及正定性

热门文章

  1. 20162329 2017-2018-1 《程序设计与数据结构》第九周学习总结
  2. 安卓 内存泄漏检测工具 LeakCanary 使用
  3. 【7】nagios从零学习使用 - nrpe插件使用
  4. 命名空间不能直接包含_C++程序中可以命名的5种元素
  5. MAC下载Linux Centos镜像文件
  6. 读文件 —— WEB前端读取本地文件内容哪些事(前台解析txt文件)……
  7. Mysql —— C语言链接mysql数据库,命令行形式(getopt()函数),用户、用户组增删改查(用户组表内有用户控制的策略字段)
  8. 无法找到python第三方库的处理方法
  9. shlve模块 序列化 python任意的数据
  10. 怎样通过WireShark抓到的包分析出SIP流程图