思考:用开发移动app的观念来开发网站
首先祝大家新年快乐。万事如意。
开发网站程序也有一些年头了,从最初的静态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的观念来开发网站相关推荐
- 用PHP开发手机 APP应用API接口开发
这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发 ...
- 基于android的简单网页_成都APP开发:APP原生和网页开发有什么区别?
现在市面上的APP主要分为原生与网页开发两种模式,下面小编就分别针对APP的原生开发和网页开发两者间的优势和劣势介绍一下两者间的区别,希望帮助大家更好的了解这两种开发模式. 原生优势 1)运行速度比较 ...
- 开发Android app需要掌握的技术
最近一直在忙着工作的事,很久没有更新博客了,今天突发奇想要把自己学到的android方面的知识记录下来,一方面是为了系统的回顾一下知识点自己的学习路线,另一方面希望能帮到更多初学的朋友.学习andro ...
- android开发 重启app
android开发 重启app 我们在android开发的过程中,可能遇到过这样的情况,当数据加载完成,或者从服务器下载文件完成,需要重启 app才会生效. 实现这个功能很简单,只需在需要重启的地方加 ...
- APP定制开发:APP软件开发的语言和开发环境
APP软件开发是移动互联网开发公司常开发的一种手机应用系统,对于刚刚进入APP软件开发领域的新手来说,选择什么编程语言和需要什么开发环境来开发APP软件是常遇到的问题.下面亿合科技小编来为大家分享下: ...
- 开发一个APP多少钱?
开发一个APP多少钱? 开发一个APP要多少钱?相信不光是客户有这个疑问,就算是一般的程序员也想知道答案.很多程序员想在业余时间接外包挣外快,但是他们常常不知道该如何定价,如何有说服力的要价.这是因为 ...
- python安卓应用程序开发,python怎么开发安卓app
python可以写软件么怎么写? 22点24分准时推送,第一时间送达编辑:技术君 | 来源:youerning上一篇:正文前言用 Python 写安卓 APP 肯定不是最好的选择,目前用Java和 k ...
- 如何用天纵手机APP快速开发框架开发手机APP
标题:如何用天纵手机APP快速开发框架开发手机APP 简介: 使用天纵软件快速开发平台开发手机APP不需要懂开发语言和进行编码工作,只需配置业务逻辑和界面样式即可.她颠覆了传统手机APP开发成本高.难 ...
- 北京软件开发商城app系统软件开发大概多少钱
北京软件开发商城app系统软件开发大概多少钱 1.app软件的一个开发功能难易度 开发一个商城app要多少钱?App功能是一个商城APP应用开发的核心,一般APP商城复杂的功能和简单的功能,开发价钱肯 ...
最新文章
- linux的文件压缩与解压缩,linux(文件压缩与解压缩)
- UE4异步编程专题 - 线程池FQueuedThreadPool
- Android中的AutoCompleteTextView组件
- azure api 管理_使用API​​使用Azure Cosmos DB进行图形数据库实现
- (转)http接口测试——Jmeter接口测试实例讲解
- 计算机设计思想 —— 虚拟化
- 如何优化项目进度管理
- linux 无法创建目录权限不够
- php将ppt转jpg图片的具体步骤代码
- 宝来客分享:大瓜!董事长沈东军举报大舅子,莱绅通灵不“灵”了
- 称为超级计算机,怎样的计算机被称为“巨型计算机”呢?
- php artisan migrate,关于laravel 5.1下php artisan migrate的使用
- LabVIEW练习16
- 比利时和德国啤酒品牌
- Bootstrap学习(六)响应式嵌入、well、分页符、label、徽章、巨幕、警告框、进度条
- Android网页浏览器开发详解(一)
- wordpress用户注册_如何在WordPress网站上允许用户注册
- mysql kill 1095_mysql root用户kill connection报ERROR 1095 (HY000): You are not owner of thread N
- sql中日期和时间戳的相互转换
- 26对称矩阵及正定性
热门文章
- 20162329 2017-2018-1 《程序设计与数据结构》第九周学习总结
- 安卓 内存泄漏检测工具 LeakCanary 使用
- 【7】nagios从零学习使用 - nrpe插件使用
- 命名空间不能直接包含_C++程序中可以命名的5种元素
- MAC下载Linux Centos镜像文件
- 读文件 —— WEB前端读取本地文件内容哪些事(前台解析txt文件)……
- Mysql —— C语言链接mysql数据库,命令行形式(getopt()函数),用户、用户组增删改查(用户组表内有用户控制的策略字段)
- 无法找到python第三方库的处理方法
- shlve模块 序列化 python任意的数据
- 怎样通过WireShark抓到的包分析出SIP流程图