基于LeanCloud云引擎的Web全栈方案
LeanEngine-Full-Stack
The FULL STACK DEVELOPER
复杂的项目, 协作分工, 自动化流程,代码组织结构,框架选择,国际化方案等
Generator 或者Seed
LeanCloud Node.js 服务的 Web 全栈开发技术解决方案。
将基础架构, 自动化构建, 国际化方案等底层技术解决方案组织成一个整体。
整套方案Javascript代码全部使用ECMAScript6
Server端运行基于LeanEngine Node.js环境,npm Express 4.X
主要基于Gulp 框架基于Angular.1.4.X UI框架基于Angular Material
npm bower安装 SASS而非直接写css 文件
整个脚手架Server基于LeanEngine 底层已将API路由的基础结构做好,
并且将一些常规处理也整合在内
服务端基本代码结构,组织结构
基础的路由分层, 默认在/api/路由下
对API的HTML5 CORS跨域协议的设置
对方问域白名单控制,集成的可配置文件
常规错误处理等
Web 前端 从整体技术栈选择上可以看出,是一个稳健并且有一定前瞻性的技术方案。
成熟的Angular架构体系,UI设计层面基于Google 积累多年面发布的设计语言
Material Design, UI框架基于Angular Material 框架
Angular 1.4在性能上有较大的提升, ECMAScript 6 来开发
代码基本组织结构 趋向于HTML5 Web Component 的组织方式
底层配置 包括HTML5 CORS协议的底层支持, 域名白名单等配置。
纯前端路由方案, 基于HTML5 History API 和 ui-router
自动构建系统, 基础的代码压缩,合并,ECMAScript和SASS编译等过程,
也会将构建后的生成代码拷贝到public 目录,供发布使用。
SASS的基本结构, 以入一些Mixin 和基础单元的处理方式。
纯前端的国际方案,可以实时切换语言资源。
基础结构
public //LeanEngine Web 前端发布
server-modules
app.js //服务端代码主入口
api-router.js //API接口器由配置
tool.js // 工具方法
hello.js //示例代码
-- web-project//Web前端项目目录
-- gulp 自动化构建的逻辑模块
--dist //构建军之后的源码目录
--src // 源码目录
-- server.js LeanEngine 的环境配置
整套架构Server端与Web 前端完全分离, 在Server端编写REST API, Web项目则是完全
Web App, 而不是通过模板来耦合, web-project目录包含了Web项目的全部代码,是完全独立的
一套体系, 也可以提出出去, 作为单独项目维护。
前端框架为什么选择Angular
Angular 1.x Angular 2.x React 和Ploymer之间有纠结, 而我们最终选择了Angular 1.4.x版本
React 并不成熟 解决了View层的分离,将渲染与编译过程分离,
在Web端表现为将JSX变为Virtual Dom, 再将Virtual Dom 每次Diff后的部分
渲染为HTML, 而开发一个应用程序不仅仅需要这些,还需要一套
完备的处理各种底层问题的方案, 如我们在上面技术列出来的方面。
React数据层Flux 编辑范式并不成熟, UI层组件稀缺, 即便是
前端路由方案也是颇有争议, 黑科技不断。
React Native 但是大提高了Native App 的开发体验,其优势
大于目前的劣试。
LeanCloud中的Javascript SDK也支持React Native中使用
ECMAScript 6
箭头函数,语言层面的模块化,原生的Promise 全部使用
node --harmony 来实现对ECMAScript 6的支持, Node.js 4.x 刚发布
完全对其支持了, TypeScript 之类的ECMAScript 6超集, 更
纯粹的JavaScript, 前端会通过babel 自动化编译处理。
LeanEngine - Full- Stack
该项目为基于LeanCloud提供的Nodejs服务 LeanEngine 的Web 全
栈开发的技术解决方案
将基础架构, 自动化构建,国际化方案等底层
技术问题的解决方案组织在一起。
自动化方案基于Gulp , 框架基于Angular 1.4.x
UI框架主要基于Angular Material, 构建
依赖于npm , Web前端依赖通过bower安装,
服务端基本代码结构,组织结构
基础的路由分层,默认在/api/路由下
对API的HTML5 CORS跨域协议的设置
对访问域白名单控制, 集成的可配置文件
常规错误处理。
基于LeanCloud云引擎的Web全栈方案的更多相关文章
- 基于React-Native0.55.4的语音识别项目全栈方案
移动端的API能力验证方案与PC端不一样!不一样!!不一样!!! 即使需要使用的API都存在,也不一定能用,这一点和PC端是有很大区别的,国内的手机系统虽然都是基于Android,但几乎都会经过各大厂 ...
- 联万物,+智能,为行业,华为云升级OceanConnect IoT全栈云服务
[中国,上海,2019年9月19日] 9月18日,在HUAWEI CONNECT 2019期间,华为云CTO张宇昕在华为云峰会上升级OceanConnect IoT全栈云服务,发布包括端.边.管.云. ...
- Web 全栈大会:万维网之父的数据主权革命
大家好,今天我和大家分享一下由万维网之父发起的一场数据主权革命.什么叫数据主权?很容易理解,现在我们的数据是把持在巨头手里的,你的微信通讯录和聊天记录都无法导出,不管是从人权角度还是从法理角度,这些数 ...
- web全栈后台权限管理系统(VUE+ElementUi+nodeJs+koa2)
web全栈后台权限管理系统(VUE+ElementUi+nodeJs+koa2) 主要技术 前端 vue 全家桶 ElementUI 后端 Node.js Koa2 Mongoess 数据库 mong ...
- 《web全栈工程师的自我修养》读书笔记
有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...
- 《web全栈工程师的自我修养》阅读笔记
在买之前以为这本书是教你怎么去做一个web全栈工程师,以及介绍需要掌握的哪些技术的书,然而看的过程中才发现,是一本方法论的书.读起来的感觉有点像红衣教主的<我的互联网方法论>,以一些自己的 ...
- web性能优化 来自《web全栈工程师的自我修养》
最近在看<web全栈工程师的自我修养>一书,作者是来自腾讯的前端工程师.作者在做招聘前端的时候问应聘者web新能优化有什么了解和经验,应聘者思索后回答“在发布项目之前压缩css和 Java ...
- 处女作《Web全栈开发进阶之路》出版了!
书中源码下载地址:https://github.com/qinggee/WebAdvanced 01. 当初决定写博客的原因非常的纯洁:只要每个月写上 4 篇以上博客,月底的绩效奖金就多 500 块. ...
- grandstack 基于graphql&&react&& apollo&& neo4j 的全栈开发工具
grandstack是一个基于graphql&&react&& apollo&& neo4j 的全栈开发工具. 有篇关于graphql 的5个常见问题的 ...
随机推荐
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请 系列目录 创建新表单之后,我们就可以起草申请了,申请按照严格的表单步骤和分 ...
- Notepad++中的复活节彩蛋(easter egg)
Notepad++是windows下的一个强大的文本编辑器; 它免费,开源, 比windows自带的记事本强大百倍; 我自己的感觉: 1.打开超大的文本文件,比方100M大小的文本格式的数据,记事本会 ...
- MySql The service could not be started
MySql安装 由于需要用mySql数据库今天就把它安上了,每次安装软件,数据库总是够我们折腾的,有时出现错误甚至比重装系统还要让人头疼. 今天在安的过程中就不出了很多错误,在重启与重装的反复捣鼓中终 ...
- 《大话操作系统——做坚实的project实践派》(6)
继续写硬件体系.这个不写完.不会写操作系统内核.由于根基不正,则难于达到上层境地.
- Scrum 学习笔记
Scrum 学习笔记 敏捷火了非常长一段时间了,可是一直没有机会实践,如今開始组队实践了,哈哈,先好好研习下规则~~ 什么是 scrum Scrum是一个敏捷开发框架,是一个增量的.迭代的开发过程.在 ...
- C 语言中 typeof keyword简单介绍
原文:http://hi.baidu.com/leowang715/blog/item/b0b96d6f972e7dd080cb4a06.html typeofkeyword是C语言中的一个新扩展.仅 ...
- android 24 设置与桌面相同的action和category
设置与桌面相同的action和category 安卓系统桌面也是一个activity,安卓桌面的action和category是: <activity android:name="co ...
- 使用strace追踪多个进程
http://www.ttlsa.com/tools/use-strace-to-track-multiple-processes/ strace是Linux环境下的一款程序调试工具,用来监察一个应 ...
- 使用Partitioner实现输出到多个文件
1.需求 按学生的年龄段,将数据输出到不同的文件.这里我们分为三个年龄段:小于等于20岁.大于20岁小于等于50岁和大于50岁 2.实现 1.编写Partitioner,代码如下 public sta ...
- objective-c IBOutletCollection介绍
objective-c IBOutletCollection介绍 将UI控件和源码进行链接时,方法的表示方法是IBAction,控件属性对象是IBOutlet.如果想将一个同类型的UI控件作为一个组放 ...