V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
wenymedia
V2EX  ›  JavaScript

来分享一个教育基础接入平台&社区项目下来后的一些心得

  •  
  •   wenymedia · 2016-09-30 20:49:13 +08:00 · 2111 次点击
    这是一个创建于 2773 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是一名杭州的准高三学生 Weny ,今年我和网易杭研视频云运营(前 SF 运营)烧碱,一起搞起来了一个 Tanso Space KOL 分享社区(网易云是世界上最好的大腿, 5 毛一条,括号内容删除) ,邀请圈内 KOL 来做一些关键意见分享(大概都是我们圈子里年轻、并非常优秀的小伙伴,来和他们谈谈人生,分享一些优秀视野)…
    暑假里大概一个月零一点,写完了这个项目,过来分享这个中小(大概业务代码在 30k Lines 左右)的前后端分离的 教育基础接入平台&社区项目 下来后的一些心得。

    概述

    前端 React Redux

    后端 Laravel MySQL Redis

    项目初衷

    一直在观察 K12 市场,相对来说,一二线城市教育问题集中在学生、家长价值观或者说缺乏内在的动力,三四五六线城市教育问题主要集中在教育资源和贫富差距。那么今天我们做 Tanso Space 主要希望在中国一二线城市乃至三四线城市传递一种积极向上的价值观。促使更积极的阶层流动。当然做这件事从根本利益上的,从某种程度上来说与中高产根本利益相互冲突。当时我们希望在阶层固化更严重的今天,让更多人能接触到积极向上的价值观影响,从而成就一个更好的自己。 To Be Better

    分享

    前端

    Redux & Normaliser 数据流设计

    *第一代 Module 分离 Store 设计

    *根据需求 分离各个 Store

    *第二代 Module Unity Store 设计

    *Router Engine 自动匹配 Master RESTful API

    *多个 Modules 复用 Unity Actions , Unity Store

    (晚些时候有空打算开源这个项目的核心部分-RESTful API Redux React View Builder )

    高复用组件设计

    整个项目下来,封装了几个高复用组件

    • Auth 组件( Actions 中间件 , HOC )

    • ListView 封装 ListScoll 高复用设计

    我在 SF 写过文章有关这些组件的设计

    https://segmentfault.com/a/1190000005980360

    https://segmentfault.com/a/1190000005986111

    性能优化

    这是一个老生常谈的问题

    这个项目在未使用 Immutable 的情况下优化重复渲染

    主要面对问题:

    *数据层次过深

    解决方案:

    • shouldComponetUpdate Func

    *指定数据深度比较

    *关键数据深层次比较

    ( 建议 Store 取数据上自己在底层封装一层,后期项目大了之后 ,再引入 Immutable 化,可以减少工程量)

    后端

    后端框架比较传统, Laravel PHP Framework ,用的是 dingo API RESTful API ,配合 JWT 。同时封装了 Repositories ,根据业务需求使用 Redis 。

    写在最后

    晚些时候有空打算开源这个项目的核心部分-RESTful API Redux React View Builder

    马上就要上线啦!一起来期待我们更多优秀小伙伴的访谈分享。

    (最后请不要打我,图床偷偷用的是 react-china,本来首发在 react-china ,作为一个可爱的游客最多贴两图。)

    第 1 条附言  ·  2016-10-01 17:41:45 +08:00

    图挂了,补图

    2 条回复    2016-10-01 17:21:20 +08:00
    quericy
        2
    quericy  
       2016-10-01 17:21:20 +08:00
    图全裂了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   926 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 859ms · UTC 23:32 · PVG 07:32 · LAX 16:32 · JFK 19:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.