面向非前端的前端开发指南

永住金刚
• 阅读 2399
原文地址:https://imshengli.com/blog/20...
如需查看文章最新内容,请访问源地址。

背景

前端这些年发生了很大的变化,导致有些前端基础的非前端同学在现在的情况下,也不知道如何下手了,甚至连发送一个请求可能都要绕半天。因此,本文就”非前端同学如何做前端开发?“这个主题聊聊这些年前端的变与不变。

万变不离其宗

不管前端如何变化,前端最核心的三个概念始终未变:HTML、CSS、JavaScript。HTML 负责页面结构,CSS 负责页面样式,JavaScript 负责用户交互。

前端任何新的概念,都是这三个概念的变种。React框架采用类似JavaScript的JSX语法,生成HTML结构。LESS、SASS的出现无非是降低CSS的开发成本。各种库、组件的出现,也无非是对开发中常见的问题抽象的实现。总的来说,只使用HTML、CSS、JavaScript完全可以满足我们自己的前端开发需求。

说说”万变“

变的原因也很简单,就是”实际诉求“。诉求是如何提升我们的开发效率,如何保持整体的风格统一,如何同时支撑多端,如何应对复杂的业务需求

第一个变:语法

和Java语法更新迭代一样,前端的语法也在升级换代中,现在JavaScript一年一个迭代版本。不过不用担心,JavaScript代码中即支持新的语法,也可以用老的语法,注意一下其中的区别即可。想了解新的语法,可以参考:阮一峰 - ES6 入门教程

另外一点需要注意的是,需要采用新的语法,浏览器如果没有对应的实现,我们需要先将它编译为老的语法,才能在浏览器中执行。常用的工具是:babeljs。这一点也不用自己去做,成熟的工具已经将它纳入其中,比如 Antd Design Pro 中采用的 UmiJS

LESSSASS并不是CSS新的语法,只是为了简化CSS的写法,可以看作CSS的语法糖。在浏览器中运行之前,需要编译为CSS。

第二个变:组件化

Web页面中存在大量的相似结构,只是数据不同。因此这些相似的Web页面结构和对应的样式,开启了前端组件化的征程。

最开始,大家只是利用HTML、CSS、JavaScript做一些简单的封装,比如Bootstrap,虽然谈不上组件化,至少减少了部分开发工作量。后来,国内出现了AmazeUI,算是有了一点点组件化的雏形。W3C 也制定了组件化的标准,Polymer Project 是基于此标准的实现。不过发展的都不太好,个中原因,众说纷纭。再后来,AngularJSReactJSVueJS,由于其更先进的理念,更完善的生态,开始大行其道,现在基本是这三者的天下。AntdFusionElementUI 等都是基于这三个框架组件化的实现。

现在,推荐大家使用基于这三大框架的组件库。选择时,选择文档全面、github star 多的组件库。使用组件时,多参考组件使用文档。遇到的问题,一般其他人都有遇到过,Google 搜索一下即可。

第三个变:工程化

组件化的到来,出现了一个新的问题,如何处理组件之间的依赖问题,如何把组件打包成一个JS文件,如何拆分组件中的样式文件,还有如何编译新的语法,本地开发时如何监听文件变化自动编译,如何发布,这都归为前端工程化的范畴。

对于非前端同学来讲,了解工程化的细节不是必要的。掌握一个顺手的,使用的来的便可。在下节要介绍的”整体解决方案“中,方案本身已经集成了工程化的能力。

第四个变:整体解决方案

现在有大量的博客系统、中后台系统需求,面对这种情况,开箱即用的整体解决方案应用而生。

最早的莫过于WordPress,只不过功能比较单一。在前端上,做的最多的可能是开发一个主题,但也仅限于列表和详情。对于博客系统,除了 WordPress 这种外,另外还有专门根据 MarkDown 文件生成静态站点的工具,比如:HugoHexoNext.js 等。面对复杂的中后台系统,现在比较流行的是:Antd Design Pro,集成了组件,集成了工程化的能力,封装了网络请求的方式,制定了规范的目录结构,统一了设计风格,及其他开发工程中可能需要的工具。

对于整体解决方案,熟读文档,是最便捷的方式。在我们不了解一件事物时,最好的办法是”照猫画虎“,但这有一个弊端是,如果出现问题,会不知所措。所以阅读每一章节时,最好知道问题是什么、解决的方式、背后的基本原理。所有的原理,最后都会落到前端的三个核心概念上。

总结

前端已独立为一个岗位好多年,自然有不少的产出。对于非前端同学,不必为不能一天掌握前端而苦恼,前端能为自己服务、解决自己的问题即可。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
3年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
永住金刚
永住金刚
Lv1
海边的日落就是这么优雅,这么精彩!
文章
4
粉丝
0
获赞
0