Skip to main content
 Web开发网 » 编程语言 » Python语言

全栈工程师如何快速构建一个Web应用?

 如果你问十个全栈工程师,如何快速构建一个Web应用,我相信你会得到10个不同的答案,因为每一名全栈工程师的技术栈都不尽相同。以设计见长的全栈设计师可能会告诉你,做一个很好的设计,然后套用一个博客系统或基于CMS的内容管理平台(如Drupal,Jommla,Wordpress)就可以快速建站,而前端全栈工程师可能会建议,用HTML5+JavaScript(AngularJS或React)来写网站的前端,用Node.js来写后端服务。我最早是一名Java程序员,后来当了架构师,又自学设计,成为了一名全栈工程师。

因此,我会更偏向于使用Java来构建稳定且便于扩展的后端服务,并用Html5+CSS3+JavaScript,再结合一些流行的前端框架来快速写出一个Web应用来。当然,这绝对不是唯一或最优秀的技术组合,你需要根据不同的应用场景和你自身的专长来进行合理的选择。  

网站定位与功能设定  

网站无论大小都应该有清晰的定位,也就是你希望你的网站做什么?这一点非常重要,我见过很多网站虽然功能很多,但由于缺少明晰的定位而少人问津。而我要写的这个小站只有一个核心功能,那就是要帮助我的微信订阅用户们(大多是学习计算机或设计的在校大学生和那些工作不久希望提升技能的设计师或程序员们)分享那些优秀的开发或设计(学习)资源。  

围绕这个核心功能,便得到了构成这个网站所需要的三个主体功能:  

资源发布与展示。(核心功能,用户可以分享他们的资源,也可以看到其他人的分享) 用户的第三方登录(为了快速开发,我省略了不必要的用户注册功能,全部采用第三方社交平台登录) 用户反馈功能。(用户反馈几乎是我自建的每个网站中都包含的功能,这使我能通过不断收集用户的反馈来改进这个平台。)  

至此,已经完成了网站的功能设定,我尽可能省略了一切不必要网站功能,也没有写任何文档,这使我能够以最快的速度将这个Web应用实现出来。这种方式也是目前增长黑客们所普遍采用的一种做法:快速搭建出一个具备核心功能的应用原型 —— MVP(Most Viable Product 最小化可行产品),来验证自己的业务模型,然后再根据用户的需求和反馈来不断进行改进。当然,随着项目规模的不断扩大,以及更多团队成员的加入,我们可以回过头来再去补齐那些在前期遗漏的文档,记住,仅当确认文档能够产生价值时,才去编写它们。  

信息架构  

这个阶段在不同的团队或项目中会有很多不同的名字,比如概要设计、业务建模等等,而我最喜欢信息架构这个名字,因为在这个阶段,我们所要做的就是对不同纬度和粒度的信息进行抽象、规划、设计,来支撑整个网站的信息体系。我曾经历过很多不同的信息架构方法论,从最初基于模块的设计,到后来的领域驱动设计(DDD)、面向服务的设计(SOA),Oracle的基于数据建模驱动的设计,再到最新的微服务架构设计 等等。我想说,这些方法论大多是针对那些大规模应用而言的,你需要了解它们,并有意识地在你的系统设计中去匹配这些优秀的架构和设计思想,这有利于你做出可扩展性良好的系统,从而避免因整个系统复杂度与规模的扩大而导致的大规模重构风险。  

对于我们这个小站来说,我们只需要先定义出合适的业务领域和实体模型,这里,我们定义出以下三个业务实体,并为这些实体添加所需要的字段。  

User-用户  

Resource-资源  

Feedback-用户反馈。  

围绕着这三个领域模型,我们再定义出三个服务,并为它们增加相应的方法:  

UserService-用户服务 ResourceService-资源服务 FeedbackService-用户反馈服务。  

信息架构阶段完成后,我们已经对整个网站有了一个全面的视图,下一步,我们就可以进入UI设计阶段了。

想获得跟多的web技术可以关注一下成都朗沃教育(教育培训

年!

评论列表暂无评论
发表评论
微信