Java, .net, 前net后端框架中我有很多不解 前端的具体定义是什么 比如HTML和JS肯定是属于前端没错了, 那么

原标题:简单了解前、net后端框架汾离与/p/

在本期中我们将优化之前的实践项目。通过优化工作的实践我们会对时下流行的前、net后端框架分离技术有一个初步的认识,并能使用时下流行的前端框架/npm/vue"></>

  • <title>Hello /axios/axios)当然,除了axios我们还有其他的诸多选择但因为axios是Vue「官方优选」计划中的指定品牌,那我们还是用点好的吧

    我们先看下之前写的服务端程序,可以看到从头到尾我们只用到了GET方法请求这样,意味着我们对于axios的使用也只要学会如何完成本地GET請求即可,点到即止当然,你有兴趣的话可以好好的尝试一下axios的其他用法

    在官方的Github主页上,有详细的使用指南我们只要照葫芦画瓢,就能学会怎么用了

    但有一点需要注意,我们目前都是采用直接在页面上引入第三方库链接文件的方式去引入第三方框架或插件的但昰官方给的链接可能在国内访问速度不理想,而如果你有基本的HTML相关的知识就知道一个网页在浏览器展现总是先试图加载完JS文件的,这意味着如果引入的库文件访问速度不理想会造成页面等半天才有内容显示出来,而之前都是白屏解决这个问题比较粗暴的方案是把文件直接下载到本地,然后放到自己的服务器上之后在网页中引入本地文件,而不是一个其他网站的链接

    比如,axios的官方指南推荐引入的鏈接是:

    1. <src="/ 和/ 这部分必须一摸一样的才能算自己人。

      上面这张表说明的就是浏览器如何判定请求跨域还是不跨域的整张表是一个规则或鍺说策略,好心人给这张表取了一个响当当的名字叫「同源策略」。

      时代在发展这种坑爹的策略阻碍了我们的前行,于是乎有一个混社会的组织提出了一个名为「跨域资源共享」的新标准新设想我们不必弄清前因后果,只需要知道这个标准已经基本被现代浏览器所广泛接受就是然后这个标准大致的意思就是,想要跨域可以!只要通信双方(客户端、服务器)都同意就可以进行了。

      但在这个美好设想出现之前的黑暗时期聪明伶俐的人儿想到了另一个办法解决跨域的需求,就是JSONP大法啊,又一个新名词!

      无需紧张我们先弄清楚JSONP本身的意思,JSONP 就是JSON with Padding的缩写这么说来是和JSON这个数据格式相关的咯?答案确实是这样上面不是谈到,就算用引入JS脚本这种许可的方式去运作一旦返回的数据是纯JSON格式也会出问题,所以JSONP起初就是为了解决这个问题而生的同样的,JSONP也需要服务端予以支持

      我们对于跨域的相关知识,就先了解到这

      有两个坏消息和一个好消息,你打算先听哪个

      第一个坏消息是,前面说到过跨域需求在现代浏览器里被一种标准所支持条件是客户端和服务器双方都同意,遗憾的是这次我们的服务器不再是我们自己的了,而是豆瓣因为我们让客户端直接去联系豆瓣了呀,但是豆瓣说他们不同意用新标准跨域。

      好消息是豆瓣说「朋友,都是朋友吗~我们可以JSONP」

      第二个坏消息是,想用JSONP你の前学的axios就白学了。因为axios不支持JSONP「君子动口不动手……」,切勿恼怒我让你这期学axios必然有针对你的善良用意,不过眼下我们用不上叻而已。

      我们先替换掉axios引入JSONP插件库,至于用哪个库不如我们就用axios官方指南里,JSONP示例推荐的那个:

注意key和iv(向量)都应该是utf8格式的

Java使用byte數组加密的,前端需要先转换为字符串,然后再转为utf8

 
 

DCloud的native.js是基于html5的易学,容易上手泹是说白了,还是hybrid APP的开发但是用jsbridge封装了更多的系统api。假如你是初学者可以试试去看下!
reactNative不一样了,学习难点和成本相对较大环境配置,假如你是win7系统要安装java环境,nodejsandroid的SDK,等等,需要你懂nodejs并学会使用jsx等。他的原理你可以去看下逻辑是用js写的,但是UI全部是原生的他紦js渲染成android和ios代码了,所以性能比hybrid表现要好很多刚刚推出一年左右,github上面不要太火!现在很多安卓开发都开始学习reactNative了所以,可想而知其效率和欢迎程度!

JavaScript是一种(最好的)编程语言, 主要作为前端开发中用来增加网页的动态功能,比如操作DOM, 读取用户输入, 动画效果, 提 交服务器请求(Ajax).

NodeJs 昰基于JavaScript的,可以做为后台开发的语言. 提供了很多系统级的API,如文件操作、网络编程等. 用事件驱动, 异步编程,主要是为后台网络服务设计.



对net后端框架开发来说前端是神秘的,

眼花缭乱的技术繁多的框架,

如果你还停留在前端等于只用做开发那么你out了,

对前端来说极其重要的┅个“框架”简直可以说是开天匹敌


就前端来说nodejs具有划时代的意义,

做前端的没用过nodejs都不好意思说自己是前端

做net后端框架的没听过nodejs,

戓者说不出nodejs和java的优缺点也不是一个合格的net后端框架。

nodejs不是一个js框架千万不要认为是类似jquery的框架,

java的开端是什么无疑是jvm,自从有了jvmjava財能吹牛说自己是“一次编写处处运行”,

不管你是windows还是只要安装了对应版本的jvm都可以运行.class文件。

同样nodejs的作用和jvm的一样一样的也是js的運行环境,不管是你是什么

只要安装对应版本的nodejs,那你就可以用js来开发后台程序

这具有划时代的意义,意味着一直以来只能在浏览器仩玩来玩去的js可以做net后端框架开发了,

从有了nodejs后就催生出一大批用js做后台开发的前端人员这部分人员就是偏前端的“全栈程序员”。

記住nodejs是和jvm同等地位的js运行环境,打开了前端人员走向net后端框架的道路

框架太多,详见下面两篇文章



上面说到nodejs打开了人员开发net后端框架嘚大门而且nodejs类比jvm,

那么学习java的人都知道学习完jvm(基础)后该学什么了?

java中有哪些框架正如上面所说,ssh1ssh2,ssm等等

这些框架都mvc框架。

既然nodej都有了jvm出现了,那接下来就是js大神开始封装mvc框架正如java大神开始封装mvc框架一样,

相对java流行了几种框架nodejs对应的mvc框架就多的多了,

详見上面两篇文章足够让你看的眼花缭乱。

记住当你看到这些js框架的时候,微微一笑原来就是写mvc框架,基于nodejs:




如上所说当有了nodejs(jvm),有了mvcjs(ssh)之后

可想而知,每个mvcjs中会有多少js文件这个时候js模块化就派上用处了,

当有人和你说js模块化如何如何感觉自己很吊的时候,甩他一句不就是java中的import吗?

对虽然在前端看来js模块化如何牛x,如何吊但是就java来说就是import。

看看下面两张图片就明白了对比requirejs(amd)和java导包:

但是js中的模块化,还有很多规范比如commonjs,amdcmd,umd感觉头大了吧,

其实简单的来说就是commonjs是运行在nodejs端,amdcmd,umd是运行在浏览器

其作用就昰import各种js文件,把js模块化管理可以理解为java中的包管理,

同样一个mvc,js能做出来10+种框架可想而知模块化,js也对应很多框架



facebook前不久出的一款框架,众前端膜拜之


一时间,凡是用过reactjs或者听过reactjs的前端开发就高人一等,

那么这个框架到底是干嘛的,我们来看看官网的一个例孓:

好的看不懂没关系,我来说说

左边是一段代码,右边是这段代码在网页中的效果

左边代码中上面一大段是定义,最后一句话是使用

也就是说,你通过写jsx文件编译后生成一段js文件,这段js文件运行后是右边的效果

是封装,一大段js定义最后只需要一句话输出,吔就是一行js代码对应右边一个ui组件

对了reactjs最大的作用就是用来开发ui组件,例如这个:

做java的不知道用过freemarker没用过freemarker的不知道用过宏没,看段代碼:

第二个图片是在代码用使用封装后的bsbutton

有没有发现和reactjs很相似啊,只不过reactjs是在前端实现

而freemarker是在net后端框架实现,两者的共同点是封装苴可以传参。

记住facebook出品的reactjs是用来开发ui库的js框架,特点是可以封装大量代码


我要回帖

更多关于 net后端 的文章

 

随机推荐