向前看,工具篇

去年年初给自己定了一个学习javascript前端开发的计划,这个计划和其它的新年计划一样,随着一月份的忙碌,已经被我抛到九霄云外了。转眼间到了年末,心想还是2014,还有机会,于是在圣诞期间摸了摸Javascript,当然,一周的时间只能学个皮毛,但是好在开了头了,万事开头难,开了头了,后面就好开始搞了。

在讨论具体技术之前,我想先说说自己作为一个标准的中间件程序猿为啥要搞前端技术。第一个理由就是每个攻城狮都有一个Full Stack Developer的梦。其实这个理由说来有些好笑。Javascript和前端技术的逆袭其实就是这几年的事,想想上一代的程序员,哪个不是Full Stack Developer啊。那时候像ASP, JSP啥的都是服务端渲染,哪有啥前端工程师啊?只是这几年随着软件开发这个行业的发展,人多了,不得不把软件开发分开,所谓术业有专攻,其实也是只有这样才能让更多人从事程序猿这个坑爹的行业。

第二个理由就是受够了单位那些所谓前端程序员的气。在单位,前端程序员天生高贵,不需要了解业务逻辑,设计有专门的UX设计师,每天可以堂而皇之的纠结这个下拉菜单是放在左边好,还是右边好,这种没节操的问题。一旦要求他们写个业务逻辑,他们就冠冕堂皇的用我是做界面的来回绝你。做起项目来,界面可以先简单做一个,看客户反馈,即使简单做也需要很长时间,因为我们要调试CSS啦,不像你们搞中间件的,就是从数据库里读个数据,没有技术含量。这种话听多了,总是想哪天老子也做个界面,老子做得肯定比你们快也比你们好。这种黑前端程序员的心态,也是一种很好的动力。

第三个理由说来惭愧,就是自己实在没啥事。单位的活,不想干,干了一年了,烦了。外面天寒地冻的,懒得出门。研究中间件和后端技术吧,这个搞了一年了,想吐了,鱼翅也不能天天吃啊。

上面废了半天话,下面进入正题。现在主流的前端开发都是single page+javascript框架+CSS配合后端Json based restful service的形式。在开发环境中,以node.js为主流。下面是一些常用的node工具:

1. npm - node下的dependency management工具

2. bower - node下的第三方javascript的dependency management工具

3. gulp - node下的build工具,它的前任是grunt。区别和Maven与Gradle差不多。Grunt和Maven一样,是基于配置的。gulp和Gradle类似,是基于代码的。当然gulp是基于javascript代码,而不是Groovy。

4. static - 对于大多数single page网页,我们只需要一个可以支持传输静态页面的web服务器就够了。static刚刚好,这里的选择很多,从apache,到express,到python。static相对比较方便,零代码,直接命令行运行就好,够用了。

5. gulp-livereload - 这是一个gulp的插件,特别推荐,和chrome和firefox的livereload插件配合使用,在本地修改网页存储后,浏览器会直接刷新,省去了F5。省事舒心。

开发IDE方面,推荐Sublime Text。虽然不支持auto complete,但是这个家伙短小精悍,用起来省心。更高级的话用webstorm。

我用到的几个javascript包:

1. backbone.js - 没有选择Angular.js,是因为Angular实在比较麻烦,一般做个网页啥的完全用不到这么复杂的MVC框架。当然,Angular学起来也远比backbone要费时间,从实用的角度,backbone已经完全可以满足我的需要了。

2. underscore.js - 这个东西是backbone的dependency,所以用backbone就一定要有。在处理数据的时候,underscore就像java的guava collection和.net的linq一样,方便,而且让代码更好懂。

3. bootstrap - 这个严格来说不是javascript包,而是css包,用起来方便省心。

4. require.js - require.js上手比较别扭,不过用多了,就好了。

5. qunit.js - 虽然比不上Mocha啥的,不够用惯了。和gulp集成,挺方便的。

整体环境搭下来,给我的感觉是真的挺好用的,整个环境相当轻量和简洁,不像Java开发环境,感觉很笨重,当然现在Gradle什么的也挺好,只是基于Java的工具启动好慢,不像gulp,运行了把窗口放在那里就好了。从工具的角度来说,前端工程师是有瞧不起中间件程序员的资本的,不过不是锅好,就能炒出好菜的。

作为学习的副产品,做了一个简单的界面,通过现有的API,整合了单位项目github,teamcity,和jira的信息,打开界面项目的情况一目了然。后面计划整合一个health check的界面,把最近开发的几个web service的health check都搬过来,这样管理非生产环境可以方便一点。

从前端技术上,下面想看的是backbone与react的整合。

时间: 2024-08-06 17:59:19

向前看,工具篇的相关文章

Caffe学习系列——工具篇:神经网络模型结构可视化

Caffe学习系列--工具篇:神经网络模型结构可视化 在Caffe中,目前有两种可视化prototxt格式网络结构的方法: 使用Netscope在线可视化 使用Caffe提供的draw_net.py 本文将就这两种方法加以介绍 1. Netscope:支持Caffe的神经网络结构在线可视化工具 Netscope是个支持prototxt格式描述的神经网络结构的在线可视工具,网址:  http://ethereon.github.io/netscope/quickstart.html  它可以用来可

[工具篇]eclipse 中设置 Java/JSP/JS/HTML/CSS 智能提示

Visual Studio 2010 中的智能提示很好用,在eclipse中是否也可以通过设置使得java代码文件.jsp文件.html文件.css文件.js文件时也能有这样方便的智能提示呢?应该是有的: 1.设置java代码智能提示 1)打开eclipse→Windows→Preferences→Java→Editor→Content Assist 2)修改Auto Activation triggers for java的值为:zjava   点击apply按钮.(zjava主要是用在后面替

微信开发第二篇:工具篇

自从写了第一篇后,最近一直在整理另一个项目的需求,没有继续研究下去,今天晚上终于开始了我的第二篇. 本次微信的项目是想基于H5做的,所以现在的想法还是先从前端入手. 要做一个移动端H5的网站有很多种方式: 1.使用Html5.css3.js自己从头开始做. 但如果这样,对于目前主要从事项目管理及后端开发工作的我,无疑是困难重重:另外自己也已经对前端的东西很久没碰过了.如果选择这种方式,肯定会本末倒置.最后说不定整个项目都没得戏(虽说这个项目完全是自己的个人爱好!!) 2.使用现在已有的移动端H5

物联网探步--工具篇之安装使用Qwtpolat

版权声明 该文章原创于Qter开源社区(www.qter.org),作者lxdlbs371,转载请注明出处! 简介 Qwtpolat是qwt的扩展,用来绘制极坐标系.极坐标系(polar coordinates)是指在平面内由极点.极轴和极径组成的坐标系.在平面上取定一点O,称为极点.从O出发引一条射线Ox,称为极轴.再取定一个长度单位,通常规定角度取逆时针方向为正.这样,平面上任一点P的位置就可以用线段OP的长度ρ以及从Ox到OP的角度θ来确定,有序数对(ρ,θ)就称为P点的极坐标,记为P(ρ

物联网探步--工具篇之安装使用qwtplot3d

版权声明 该文章原创于Qter开源社区(www.qter.org),作者lxdlbs371,转载请注明出处! 简介 qwtplot3d也是qwt的扩展,用来绘制三维模型图,在机械制造.遥感测绘和模型分析等领域中作用相当广泛. 此文是承接物联网探步--工具篇之安装QWT一文的,请先看此文. 实践 3.1:打开D:\qwt\MinGW\qwtplot3d\qwtplot3d.pro文件,在qwt3d_function.cpp文件中添加#include "stdio.h"头文件. 3.2:在

学习笔记-性能测试-工具篇-LR-初识

关于LR的基本信息网上都能搜到,这里就不再赘述. loadrunner的安装准备 windows环境: 前提条件: 内存:2G,硬盘空闲空间10G,安装完成后实际只占不到2G 支持winXP  SP3;32位与64位win7浏览器支持IE6-8,IE9,firefox3 若以前安装过LoadRunner,则将其卸载. 下载好需要的部件然后通过安装程序进行安装 关于破解细节,详情请百度或者谷歌. 这里找到一篇关于LR11的安装篇: http://www.cnblogs.com/yangxia-te

编程工具篇——Vim

配置 配置文件位于:/etc/vim/vimrc(添加配置在文件末尾输入代码即可) 常用配置 配色方案 :colorscheme ron(其中ron为我的配色方案,也可以选择其他,软件中自带配色文件全部存在/usr/share/vim73(也可能是vim74,版本不同)/colors中,可以根据自己的喜好更改.) 缩进间距:set tabstop=4 (一般4比较舒服) 自动缩进:set autoindent (应该是必须的吧) 编程工具篇--Vim,码迷,mamicode.com

学习笔记-性能测试-工具篇-LR-12的安装

进入LR的官方网站下载好最新的两个版本 两个安装文件: 先解压到同一文件夹 点击安装程序,选择安装的路径会自动安装: 安装完成后出现三个主要组件: 学习笔记-性能测试-工具篇-LR-12的安装,布布扣,bubuko.com

物联网探步--工具篇之安装qvb

物联网探步--工具篇之安装使用qvb 版权声明 该文章原创于Qter开源社区(www.qter.org),作者lxdlbs371,转载请注明出处! 简介 qvb是用QT 写的工业组态开源软件.在未来工业4.0领域有着重要的作用.并且该软件还支持Linux,windows,OS-X ,openVMS,Maemo/meego,  Android和Symbin. qvb支持二次开发pvdevelop. 工具 下载好对应的工具: vtk-5.10.1 下载地址:http://www.vtk.org/do

Android开源项目第四篇——开发及测试工具篇

本文为那些不错的Android开源项目第四篇——开发工具篇,主要介绍Android开发工具和测试工具相关的开源项目. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 Android开源项目第五篇——优秀个人和团体篇 1.Buck facebook开源的Android编译工具,效率是ant的两倍.主要优点在于