① 电商前端架构设计
什么是前端架构
说到架构,很容易拉出一系列的概念知识点,像系统架构、软件架构、框架等等,这些不是今天探讨的重点,大家可以下去网络来理解。架构的本质是什么?其实也是一种管理。通常我们所说的管理,都是指对于任务和人员的管理,而架构管的是机器和代码。比如说,机器的部署属于运维的物理架构,SOA属于服务架构,那么,前端的架构指什么呢?
长期以来,前端所处的位置是比较偏应用层,很薄的一层,而架构又要求深度和广度,所以之前在前端里面做架构,好比在小水塘里游泳,稍微扑腾两下就到处碰壁。但最近这几年来,随着一些列新的技术和概念的出现,前端的范围被大大拓展了,所以这一层逐渐变得大有可为。
单纯从语言的角度来说,html、js、css是最简单最容易上手的开发语言,不考虑模块化、工具、压缩优化,任何人都可以快速上手,完成一两个功能简单的页面。在规模很小的项目中,前端技术要素彼此不会直接产生影响,因此无需架构相关的思考。由于前端语言这种灵活松散的特点,使得前端项目规模在达到一定规模后,工程问题凸显,成为发展瓶颈,原来孤立的技术要素开始彼此产生影响,各种技术要素彼此之间开始出现关联,要用模块化开发,就必须对应某个模块化框架,用这个框架就必须对应某个构建工具,要用这个工具,就必须对应某个包管理工具……这个时候,需要有人从比较高的角度去梳理、寻找适合自己团队的集成解决方案。而这一系列解决问题的工具和手段就是所谓的前端架构。
架构的组成
组件框架
架构不等于框架这一点很好理解,相信大家都能够很深入的说明这里的差别,框架是架构的重要组成部分,架构决定框架的选型,框架决定架构的技术路线。架构围绕框架进行一系列的流程工具建设,从而形成完善自动的开发体系。
+框架不等于类库,这里就是很多人困惑的点,你用的什么框架?jquery、underscore、linq、seajs、requirejs等等,每个人都能够列举一大堆。但这个是不准确的,一套编码框架是有一系列的元素组成:
开发模式,我们如何来实现代码的职责分离。以前整个前端是mvc中v这一层,而现在前端内部也进行了mvc的逻辑细分,Javascript的MVC框架现在很多,有的强化m、有的强化c。每一个框架其实都有其特点的,并且有越来越多的创新改造,比如现在最流行的是mvvm。有angular、react等等。我们是为了引入mvvc才把他们纳入到我们的开发体系,而不是因为他是一个好用的类库。
通讯,模块化、组件化是前端在推进开发模式过程中的一个过程产物,为了有效的进行组件隔离和独立,现在有各种各样的通信模型出来,不过由于实现简单,代码少,他往往是合入到某个类库里面,但本质也是一个类库。比较成熟的比如:消息总线、事件模拟、缓存中转、flux模型等等。
模板,我们用什么样的方式来集中的处理数据往html的转换过程,这里就不用多展开,这种类库现在太多了,光我们公司就有很多套,大家在代码行、缓存管理、预编译、运算性能、强大的语法等等各个维度不段追求各种极致。
基础类库最后才是传统类库,相信现在已经没有同学会在项目中去约束团队中的dom操作、常用函数、方法、异步化等等各种很基础东西,这个时候我们一般就是引入jq、zepto、underscor这些封装好的东西就行了。核心就是为了改善编码生产力。
对于框架的选型要从两面看,一是看该框架的本领,二是看你们团队的能耐。从经验上给几个点建议:
这里也可以顺便展开聊一下现在前端产品的形态分类:
从这些分类里面,我们这些年派生出了所谓全端和全栈的概念。但本质上怎么走还是要由所在产品的形态来决定。
内容型Web站点 侧重渲染方面的优化,前端逻辑比重小
操作型B/S系统 以数据和逻辑为中心,界面较规整
hybrid内置型,要处理缓存和一些本地接口,包括PC客户端和移动端。现在的本地应用,基于很多考虑,都变成了混合应用,也就是说,开发这个应用的技术,既包含原生的代码,也包含了嵌入的HTML5代码
Web游戏,前端的逻辑非常重,在代码结构上要求非常高的可管理性和更复杂的设计模式。
桌面应用型,现在有一些PC端的混合应用开发技术,比如node-webkit和hex,前者的典型应用是XDK,后者的典型应用是有道词典,此外,豌豆荚的PC客户端也是采用类似技术的,也有一些产品是用的qt-webkit。这类技术可以方便做跨平台,极大减少开发工作量。
大工程应该尽量避开谷歌产品,他的很多技术开源项目都是玩票性质的,GWT、Closure、Darty就是前车之鉴。曾今提出过很多的新技术,到现在还是独家的,变出太大。包括现在angular,喜欢做断崖式升级,做做运营后台系统问题不大,如果是线上系统的话,每次升级就是一次人月神话中的典型焦油坑。
关注应用场景,像刚才说到的boss后台是一种;另外我的平台是否有沉重的历史包袱,需要兼容ie6,还是可以轻装上阵;产品对于seo是什么样的态度?是否需要考虑自适应?或者我的团队足够大,能够各搞一套?;产品特征是强内容还是强交互或者是游戏性。这些都是选择不同框架的主要出发点。
没有最好,只有最适合自己的,基本上,针对每个平台,我们都可以列出一些主流框架,但不意味着你们都能驾驭得住。小马过马,老牛没过膝,松鼠淹个半死,就是这么回事。但无论我们选择什么框架或决定自己动手造轮子,都勿忘初心,技术必须让我们工作生活更为轻松愉快——我们只选择我们能驾驭住的框架,我们不能保证它在一年后是否会过时落后。
而且按照我个人这么多年的经验来看,任何框架都会过时,往往不是因为他不够好,而是因为一定有更好的出来。我们再选择一个框架或者一个类库的时候就要想好,未来我如何抛弃他。至少不能成为我们引入新的框架的绊脚石。现实的工作中很多的团队往往会陷入到年复一年的用今年的新框架去重构去年老框架代码的历史循环中去。对于引入框架如何尽量延长他的生命力,我个人的意见是选择框架时去追求概念,而不是潮流,当我的架构可以接受新的设计概念的时候才去考虑引入新的框架。用设计理念的选择代替框架的选择。之所以这么说是因为我观察到我们部门的后端架构的开发理念跟我进公司的时候是差不多的。更多你可以参考成都网站建设
② 电子商务专业向前端开发和网页设计这两方面发展要学什么
选一个实用点的专业,其实IT专业就不错,比如 电子商务、4G移动开发、内ui设计、互联网编程、、大容数据、VR丶云计算、等等就业前景都挺好。
我们这有两年制 也有三年制还有短期 大专 中专都有
看看自己的兴趣爱好和发展趋势,然后选择一个适合自己的专业
我们的很多学生都是学有所成,祝你一切顺利
③ 各位大神,电商网站使用什么html5的前端框架
我记得以前是jq
现在很有可能是vue2.0,毕竟vue2.0用的人越来越多了,而且很方便,还是一个回中国自答己人开发的。
angular4.0和react也行。
react应该是3个中我认为最好的,因为我没有用过,我看过他的代码,很简洁。
angular4.0和vue2.0很像,都是把代码组件化。
④ 电商项目前端程序员如何分配任务模块
项目管理,需求,UI设计体验,功能设计,开发(前端,后端),测试(前端自动化,专unittest,性能,UAT等),属部署维护。
如果只是开发,就按功能点和页面来分。
不建议一个人从前到后都懂,这样如果流失的话,则容易出现问题。
软件工程是个大学科,需要研究的。不是简单一句话就说的清楚的。NB的项目经理必须懂软件工程。
⑤ 电商前端和普通前端分别避开的坑有哪些
电商的前端工程师首先要对项目逻辑相当的熟悉,因为电商项目本身就比一般的项目大,逻辑复杂,尤其是在订单、售后以及结算金额时一定不能出任何问题,而且要将代码优化到最佳,并且代码能够通过专业的压力测试,保证在同一时间数据量很大的情况下也不会出现问题,电商项目品类也是一大复杂点。
普通的前端工程师相对这些会简单一些
⑥ 电商运营和web前端应该选择哪一个工作,本人快28了
电商运营需要点天赋,要有比较灵巧的思维。而web前端需要耐心踏实点,当然做的好的话也需要开拓性的思维
⑦ 电商运营和web前端哪个更有前途
方向不一样,一个主要是运营方面,一个是属于技术方面,看个人的选择,两者都是互联网现在比较火的职位,挺不错的!
⑧ 电商网站开发中前端有哪些安全性的问题要解决
电子商务简单的说就是利用进行的交易活动,电子商务:"电子"+"商务",从电子商务的定义可以了解电子商务的安全也就相应的分为两个方面的安全:一方面是"电子"方面的安全,就是电子商务的开展必须利用Internet来进行,而Internet本身也属于计算机网络,所以电子商务的第一个方面的安全就是计算机网络的安全,它包括计算机网络硬件的安全与计算机网络软件的安全,计算机网络存在着很多安全威胁,也就给电子商务带来了安全威胁;另一方面是"商务"方面的安全,是把传统的商务活动在Internet上开展时,由干Internet存着很多安全隐患给电子商务带来了安全威胁,简称为"商务交易安全威胁"。这两个方面的安全威胁也就给电子商务带来了很多安全问题:
(一)计算机网络安全威胁
电子商务包含"三流":信息流、资金流、物流,"三流"中以信息流为核心为最重要,电子商务正是通过信息流为带动资金流、物流的完成。电子商务跟传统商务的最重要的区别就是以计算机网络来传递信息,促进信息流的完成。计算机网络的安全必将影响电子商务中的"信息流"的传递,势必影响电子商务的开展。计算机网络存在以下安全威胁:
1、黑客攻击
黑客攻击是指黑客非法进入网络,非法使用网络资源。随着互联网的发展,黑客攻击也是经常发生,防不胜防,黑客利用网上的任何漏洞和缺陷修改网页、非法进入主机、窃取信息等进行相关危害活动。2003年,仅美国国防部的"五角大楼"就受到了了230万次对其网络的尝试性攻击。从这里可以看出,目前黑客攻击已成为了电子商务中计算机网络的重要安全威胁。
2、计算机病毒的攻击
病毒是能够破坏计算机系统正常进行,具有传染性的一段程序。随着互联网的发展,病毒利用互联网,使得病毒的传播速度大大加快,它侵入网络,破坏资源,成为了电子商务中计算机网络的又一重要安全威胁。
3、拒绝服务攻击
拒绝服务攻击(DoS)是一种破坏性的攻击,它是一个用户采用某种手段故意占用大量的网络资源,使系统没有剩余资源为其他用户提供服务的攻击。目前具有代表性的拒绝服务攻击手段包括SYNflood、ICMPflood、UDPflood等。随着互联网的发展,拒绝服务攻击成为了网络安全中的重要威胁。
(二)商务交易安全威胁
把传统的商务活动在Internet上进行,由于Internet本身的特点,存在着很多安全威胁,给电子商务带来了安全问题。Internet的产生源于计算机资源共享的需求,具有很好的开放性,但正是由子它的开放性,使它产生了更严重的安全问题。Internet存在以下安全隐患:
1、开放性
开放性和资源共享是Internet最大的特点,但它的问题却不容忽视的。正是这种开放性给电子商务带来了安全威胁。
2、缺乏安全机制的传输协议
TCP/IP协议是建立在可信的环境之下,缺乏相应的安全机制,这种基于地址的协议本身就会泄露口令,根本没有考虑安全问题;TCP/IP协议是完全公开的,其远程访问的功能使许多攻击者无须到现场就能够得手,连接的主机基于互相信任的原则等这些性质使网络更加不安全。
3、软件系统的漏洞
随着软件系统规模的不断增大,系统中的安全漏洞或"后门"也不可避免的存在。如cookie程序、JAVA应用程序、IE浏览器等这些软件与程序都有可能给我们开展电子商务带来安全威胁。
4、信息电子化
电子化信息的固有弱点就是缺乏可信度,电子信息是否正确完整是很难由信息本身鉴别的,而且在Internet传递电子信息,存在着难以确认信息的发出者以及信息是否被正确无误地传递给接收方的问题。
(三)计算机网络安全威胁与商务交易安全威胁给电子商务带来的安全问题
1、信息泄露
在电子商务中表现为商业机密的泄露,以上计算机网络安全威胁与Internet的安全隐患可能使得电子商务中的信息泄漏,主要包括两个方面:(1)交易一方进行交易的内容被第三方窃取。(2)交易一方提供给另一方使用的文件第三方非法使用。
2、篡改
正是由于以上计算机网络安全威胁与Internet的安全隐患,电子的交易信息在网络上传输的过程中,可能被他人非法地修改、删除或重放(指只能使用一次的信息被多次使用),这样就使信息失去了真实性和完整性。
3、身份识别
正是由于电子商务交易中交易两方通过网络来完成交易,双方互不见面、互不认识,计算机网络的安全威胁与Internet的安全隐患,也可能使得电子商务交易中出现身交易身份伪造的问题。
4、信息破坏
计算机网络本身容易遭到一些恶意程序的破坏,如计算机病毒、特洛伊木马程序、逻辑炸弹等,导致电子商务中的信息在传递过程被破坏。
5、破坏信息的有效性
电子商务中的交易过程中是以电子化的信息代替纸面信息,这些信息我们也必须保证它的时间的有效与本身信息的有效,必须能确认该信息确是由交易一方签发的,计算机网络安全威胁与Internet的安全隐患,使得我们很难保证电子商务中的信息有效性。
6、泄露个人隐私
隐私权是参与电子商务的个人非常关心的一个问题。参与到电子商务中的个人就必须提供个人信息,计算机网络安全威胁与Internet的安全隐患有可能导致个人信息泄露,破坏到个人隐私。
⑨ 电商网站使用什么html5的前端框架比较合
先要想明白PC端和移动端主要的差别
1、PC端兼容性问题,如果要兼容IE低版本系列,版react+rex 或者 vue 之类的要排出在外
2、SEO问题权,采用前端渲染的话是没有SEO的,或者说很难做SEO (电商网站对SEO要求应该比较高)
重点要考虑这两点问题,react vue angular等前端框架在PC上实现项目的能力都是有的。
⑩ 做一套pc端的电商网站,前端用什么框架
现在的主流网站都是用div+css,框架来做的;
也可以根据需求来选择框架;
具体情况不同网站有不同的做法。