美文网首页
关于技术选型

关于技术选型

作者: 千茉紫依 | 来源:发表于2019-03-22 11:40 被阅读0次

由于我28岁决定转行当前端工程师,起点很低,为了能尽可能弥补与他人差距,我对技术选型的定位就是实用、成本低和通用性,实用就是能满足基本的需求,成本低就是能够快速上手、快速迭代,通用性就是要能跨端,最好是安卓苹果小程序通通都能用,学一套,跨多端。

所以经过14月艰苦自学,经过几次知识迭代更新。到目前为止我选择的技能主要是这些:nuxt、vue、uniapp、element、less、koa、echarts、mongo。目前能够进行简单的App、小程序、SSR、SPA以及数据可视化开发

为什么要用Nuxt

用Vue制作出来的Spa程序虽然速度很快,但由于数据是在前端动态渲染的,导致各种关键字无法被搜索引擎收录,很难进行SEO优化,这会导致网站的搜索排名滞后,这个弱点对于电商和博客类网站是致命的。

所以我们采取的方法是由后端将数据渲染成型后投递给前端,这能满足传统的搜索引擎SEO优化,然后再用Vue在前端渲染,以提升页面速度。

因为渲染既发生在前端,也发生在后端,所以我认为学习Nuxt主要的难点在于生命周期,以前写Vue的时候对这个概念没什么印象,但是在Nuxt中nuxtServerInit、asyncData、fetch、created、mouted等函数会让我重新认识了生命周期。

为什么要用element

最开始我考虑的是iview,因为内心是拒绝接受element的,因为百度的东西一贯都做的很丑。只是在实践过程中,view虽然清新漂亮,但有个别多层选择组件的内部封装比较混乱,导致不得不加大量判断来控制,体验非常糟糕。所以在发现element可以个性定制以后,就转到了element。个性定制方案详见:element组件样式如何个性定制

为什么要用less

less预编译器可以嵌套、引入和定义通用变量,可以像管理程序一样管理less,另外配合gulp,只需要少量的配置就可以转换成小程序端和App端需要的格式,非常方便。
配置方案详见:在微信小程序中使用gulp+less对wxss进行构建

为什么要用koa

自学的第6个月,学会了jQuery,然后开始学php,用了一个多月时间手撸了一个库存系统,那时候页面dom与php混在一起,还要写一堆jQuery逻辑,简直痛不欲生,由于不懂优化,最终成品的访问速度也极慢,页面平均3s多才能打开,十分低效。几个月后,偶然发现了koa,首先它只是一个中间层,只有文件、网络和数据库操作,处理好数据之后返回,不需要写展示界面,而且koa功能由npm扩展,按需求加载,非常简洁,所以果断弃坑php,改用koa

为什么要用echart

echart的核心思想是数据驱动,虽然配置项繁多复杂,但初始化一次之后,所需关心的只有series.data数组中的数据而已,可以非常方便的做数据可视化,他的三维gl插件基于canvas,在各端兼容性非常良好,相比于D3和highChart,他的文档也更加详尽

为什么要用Vue和uniapp

和React相比,Vue显然更简单易学一点,全家桶也完全能满足基本需求,跨端的话也不需要像React那样再去学一个Native,Vue完全符合实用、成本低和通用性选型定位。而uniapp是vue、flex和H5+的结合体,自学的时候曾用他家的mui开发过安卓App,uniapp与mui一脉相承,过渡曲线比较平滑。

为什么要用mongo

由于node是单进程,不必担心进程间通信和死锁问题,异步的消息队列使他能处理更多的并发请求,同时由于cluster这个神器的加持,使得node可以多核部署,健壮性、稳定性和负载均衡都得以实现。所以与mySql相比,我认为mongo更适合小型项目

为什么要用redis

在管理邮件注册码和用户登录状态session时,由于要保持长存储,如果在node中管理这些状态,会给系统内存回收带来极大的负担,所以考虑采用外部高速redis数据库,在保证系统响应速度的同时有效避免内存泄漏。

为什么要用阿里云OSS

腾讯云虽然操作简便直观,但对外开放的功能有限,做微信小程序时他是神器,但其他的项目就不太乐观了,阿里云虽然比较复杂,但胜在功能全面,价格便宜,用户基数也很大。

相关文章

  • Metal基础入门

    一、背景和技术选型 关于技术方案的选型,最权威的肯定是Metal for OpenGL Developers[ht...

  • 关于技术选型

    由于我28岁决定转行当前端工程师,起点很低,为了能尽可能弥补与他人差距,我对技术选型的定位就是实用、成本低和通用性...

  • 爬虫(3-1 3-2)

    3-1 爬虫技术选型,爬虫能做什么?技术选型:scrapy vs requests+beautifulsoup1....

  • 技术选型指南

    这是一篇综合类技术选型指南,试图为你提供一份比较通用的技术选型思维框架。当你需要进行技术选型时,可以参照它来设计自...

  • 伴鱼数据库选型的思考,为什么我们 all in TiDB

    作者:伴鱼技术团队 技术选型是由技术方向和业务场景 trade-off 决定的,脱离业务场景来说技术选型是没有任何...

  • 通过阿里云maxcompute快速构建数据仓库

    前期技术选型 技术选型确定 鉴于开发资源,以及尚无大数据的技术基础,选用了可以快速上手的阿里云maxcompute...

  • 技术选型

    一、构建工具 gulp 任务管理,对任务文件流式操作,内存中完成,效率高 grunt 任务管理,对任务文件先读...

  • 技术选型

    介绍后台管理系统常见的组合搭配。主要是从业务逻辑层的实现和视图层考虑。 1:Angular+Bootstrap 市...

  • 技术选型

    scrapy vs requests+beaufigulsoup scrapy 是框架 (强大)requests+...

  • 技术选型

    2、前端 动态页签:Jerichotab,jquery-1.12.4.min.jsCSS框架:element-ui...

网友评论

      本文标题:关于技术选型

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