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

开发网站程序也有一些年头了,从最初的静态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网站的价值不仅仅是提供写作平台,而是如何通过大数据手段,提炼数据中的内容,分类,整理,自动摘要和归档。

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

思考:用开发移动app的观念来开发网站的更多相关文章

  1. 使用Android-studio开发移动app与weex结合开发详细步骤

    详细步骤如下:   首先,确保机器已经安装了node.js,并且把npm更新到最新版本 下载完毕后,我们可以看到全局目录下的node_modules下面多出一个weex-toolkit 同时,我们留意 ...

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

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

  3. iOS开发系列--App扩展开发

    概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更 ...

  4. 开发一个App的成本是多少?

    英文出处:savvyapps.欢迎加入翻译小组. 在最近的一个会议上,一个叫Bob的老顾客引用了<App Savvy>(<放飞App:移动产品经理实战指南>)中探讨研发一个io ...

  5. 巧用第三方高速开发Android App 热门第三方SDK及框架

    巧用第三方高速开发Android App 热门第三方SDK及框架 历经大半年的时间,最终是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方高速开发Android App ...

  6. 开发一个 app 有多难?

    171 个回答 默认排序​ 道衍天机 有事情的加微信1293190838找我 1,150 人赞同了该回答 ----------------------------------------------- ...

  7. 巧用第三方快速开发Android App 热门第三方SDK及框架

    巧用第三方快速开发Android App 热门第三方SDK及框架 历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方快速开发Android App ...

  8. UWP开发:APP之间的数据交互(以微信为例)

    目录 说明 UWP应用唤醒方式 跟微信APP交互数据 APP之间交互数据的前提 说明 我们经常看到,在手机上不需要退到桌面,APP之间就可以相互切换,并且可以传递数据.比如我在使用知乎APP的时候,需 ...

  9. 【转载】用Ionic开发hybrid APP

    使用phonegap开发APP的优劣在此不必细说,快速,简单,跨平台,以及随着iOS,Android本身对webview优化所带来的不错的性能,便是其独有的优势.而且私以为在目前激烈而又变化快速的移动 ...

随机推荐

  1. Visual Studio 2015 开发 ASP.NET 5 有何变化?

    本篇博文目录: ASP.NET 5 模版 ASP.NET 5 目录结构 前端管理工具 无编译开发 Microsoft Git Provider 智能感知和错误信息 Smart Unit Testing ...

  2. 升级 Visual Studio 2015 CTP 5 的坑、坑、坑

    前两天,微软发布了 Visual Studio 2015 CTP 5,全称为 Visual Studio 2015 Community Technology Preview 5,意为社区技术预览版,之 ...

  3. EasyUI+MVC+EF简单用户管理Demo(问题及解决)

    写在前面 iframe-src EntityFramework版本 connectionStrings View.Action.页面跳转 EasyUI中DataGrid绑定 新增.修改和删除数据 效果 ...

  4. SS - DIY一个前端模板引擎.(一)

    前端MVVM 模式有点很多,完全摆脱了意大利面条式的代码. 个人认为,所有MVVM 的框架基础就是一个高性能的JS模板引擎,它极大简化了 DOM 操作, 使页面渲染和业务逻辑彻底分离. 为了理解模板引 ...

  5. jar包依赖性查询

    项目中碰到jar包冲突,需要排除一些jar包时先要了解jar的依赖关系,maven提供了命令行来查询: mvn dependency:tree 返回依赖的属性结构

  6. spring源码分析之定时任务概述

    Spring框架提供了TaskExcutor的异步执行和TashScheduler的任务定时执行接口,同样spring也提供了线程池或者CommonJ的代理. TaskExecutor的类型 Simp ...

  7. 使用PL/SQL工具比对表结构,同步表结构

    需求:Oracle数据库,B库和C库,某些表的表结构不一致,现在要求以C库为标准,同步更新B库表结构PL/SQL 连接到C库, Tools --> Compare User Objects .. ...

  8. 【集合框架】JDK1.8源码分析之LinkedHashMap(二)

    一.前言 前面我们已经分析了HashMap的源码,已经知道了HashMap可以用在哪种场合,如果这样一种情形,我们需要按照元素插入的顺序来访问元素,此时,LinkedHashMap就派上用场了,它保存 ...

  9. mysql小数格式化正确方法

    用到小数格式化,mysql了解很肤浅,只会简单的sql语句,于是百度,发现大家都是转载同一个文章,好无语. 而且,结果验证还是不正确,查了官方api,终于写出来了. 另外,还是保存下百度的几个方法: ...

  10. js图片预加载

    图片预加载有大体有几种方式 1.html标签或css加载图片. 显而易见我们使用img标签或者通过标签的background-image属性都可以实现图片的预加载.但是为了避免初次载入过多图片影响体验 ...