美文网首页程序员
产品研发记录01:为什么需要基础开发框架产品

产品研发记录01:为什么需要基础开发框架产品

作者: 梦中人在梦中 | 来源:发表于2017-01-03 20:27 被阅读199次

      目前负责一套基础开发框架产品的研发,从0到1开始已历经两年时间,日趋稳定。希望通过本系列文章记录下产品研发过程中的方方面面,归纳总结沉淀下来。

    一、背景

      传统行业,以项目为单位。在没有产品之前,所属部门所有人员打散进入一个个的项目,根据客户需求进行开发。Java体系,这个时候,各个项目基本上由各项目的技术负责人搭建项目开发环境,架构设计,模块拆分。完事后,再安排开发人员根据需求开发。之后,测试上线,最终验收,完成整个项目开发流程。之后再辗转新的项目,或者继续做该项目的下一期项目。

      这样的项目开发方式会带来如下问题:

    • 大量冗余工作。比如开发环境搭建,登录、首页、菜单、权限、人员管理、系统监控等公共需求基本上在每个项目中都得重新开发一遍。

    • 技术债务风险。主要技术的选型往往由各个项目的技术负责人确定,一些零散的组件,比如前端常用的图表、树、弹出框等基础组件往往由实际开发人员决定。带来所用技术混乱,后期运维成本提高。

    • 对开发人员要求提高。项目与项目之间技术风格迥异,开发人员转项目往往得重新学习了解一套新的技术体系。从一个项目的熟手变为另一项目的生手。

    • 技术、经验无法沉淀。对于传统行业,技术与行业实施经验才是无价之宝。由于各项目单打独斗,项目与项目间经验无法复用,知识很难沉淀。

    二、基础开发框架产品

      为了解决上述问题,引入基础开发框架产品。所有项目的实施都以该基础框架产品为基座进行开发。该基座包含如下几点:

    • 整体架构前后端分离,使用RESTFULL进行前后端数据交互
    • 前后端技术体系统一
    • 由基础开发框架组负责技术选型,确定技术路线。比如React、Vue、Angular到表格组件,图表组件到底用哪个之类问题
    • 应用部分:提供登录、首页、菜单、人员管理、权限管理、字典管理、系统监控等通用模块
    • 前端部分:统一技术栈。提供通用前端开发组件,开发结构规范,提供公共的前端压缩合并以及缓存解决方案。
    • 安全:统一的XSS、CSRF、SQL注入等安全问题解决方案
    • 统一的框架级异常处理
    • 可平滑升级
    • 提供问题反馈、建议提交平台,构建正循环生态环境
    • ......

      总之,属于项目开发公共的部分都放入其中,随着项目的不断实施,不断的总结出新的组件,不断的完善现有基础组件。

    三、带来的好处

    • 开发实施效率明显提升
    • 项目后期维护成本降低
    • 技术路线统一后项目开发人员的技术学习成本降低
    • 基于同一套基础开发框架,A项目中的闪光点可直接搬到B项目中
    • 由基础开发框架组造完轮子后避免各个项目重复造轮子
    • 形成公司核心竞争力

    相关文章

      网友评论

        本文标题:产品研发记录01:为什么需要基础开发框架产品

        本文链接:https://www.haomeiwen.com/subject/dbmnvttx.html