9

前言

我们在开发一个系统的时候,最重要的就是选择系统开发框架,其次选择UI,有了框架会使我们接下来的开发就游刃有余,大大提升我们的开发效率。那么我们如何选择框架?如何基于框架搭建系统?系统如何布局呢?

一、框架简介

1.框架与架构

什么是框架

框架是实体,是系统或子系统的半成品

什么是架构

架构是抽象的重要策略,是技术整合、扩展

如果把开发一个系统比作造房子,
那么架构是地基打在哪里,打多深,用什么材料,如何分配;
框架就是我们搭出来的房屋基本的架子;
开发就在我们这个架子上去堆砖砌瓦即可;

2.框架模式

框架模式有很多,接下来我们了解下主流的两个框架

(1)MVC

image.png

M:Model(模型)负责数据和业务逻辑
V:View(视图)所看到的页面
C:Controller(控制器)控制器负责从视图读取数据,控制用户输入,并向模型发送数据

(2)MVVM

image.png

M:Model(模型)从后台获取到的数据
V:View(视图)所看到的页面
VM:ViewModel(视图模型)处理数据和业务逻辑

二、布局与构思

了解了框架以及主流的框架模式之后,下面就可以思考如何着手搭建我们的系统了。

1.搭建一个什么系统?

系统定位是什么?系统功能有哪些?

2.在哪个端搭建?

PC?WAP?多端兼容?...

3.页面怎么布局?

有无设计图?常规布局都有哪些?

4.框架模式选用?

MVC?MVP?MVVM?...

5.开源?自己搭建?

套用开源的框架进行二次开发?自己从0开始搭建?

经过这些灵魂拷问之后,我们对于自己要开发什么系统是不是更清晰了呢?

三、技术选型

市场上各种各样的框架和技术,层出不穷,我们如何进行技术选型呢?
要考虑的方面我归纳为以下几点:

1.公司:

(1)公司技术栈
公司目前所用技术都有哪些,有哪些成熟的技术

(2)公司语言
公司常用的开发语言是什么

(3)团队实力
团队实力如何,团队熟悉哪种语言,如果学习新框架易上手吗?

2.时间

(1)开发周期
有没明确规定开发周期,在这个规定的开发周期内能不能完成;
如果没有规定开发周期,那根据选用的技术不同,分别需要花多久

3.技术

(1)生态&文档
是否有一个良好的生态环境,文档是否齐全

(2)稳定性
大团队开发?私人开发?会不会选用了这个技术开发到一半,团队不再维护这个技术了?

(3)可扩展性
如果我想进行二次开发,加一些扩展的功能或者自定义的方法,成本如何?难度大不大?需要修改的地方多不多?对我整体的框架有什么影响?

(4)可维护性
维护成本及难度如何

(5)易用性
学习成本、上手难易程度及开发成本如何

(6)性能效率
性能如何?效率高不高

四、UI框架

当我们选好了我们的技术框架后,就要确定是自己写样式组件等还是选用一个好的UI框架来提升我们的开发效率。市面上的UI框架同样有很多,我们如何去选择适合自己系统的呢?

1.PC、WAP?

这个UI框架适用哪个端

2.兼容性

PC端对各浏览器兼容性如何,WAP端对各类型手机系统兼容性如何

3.易用性

4.稳定性

5.样式是否与系统气质相符

选用UI框架时,需要考虑一点,这个UI的样式界面与我们系统的气质搭不搭?怎么说呢,打个比方,如果我们要开发的是面向年轻人的电商平台,结果我们选用的UI框架死气沉沉,更像是一个政府网站,这显然是不妥的。

6.组件是否丰富

封装的底层组件多不多,涵盖了哪些?包含了常用的组件没,是否需要我们自己封装还是开箱即用?

7.生态&文档

本篇文章只给大家提供一个思路,让大家在开发系统时不再对选用技术及UI感到迷茫,提前规划好我们要开发的框架,在选择框架时不要跟随潮流,而是综合评估各个层面后选用适合自己的框架。


Reachel
2.6k 声望219 粉丝