Monthly Archives: 四月 2015

走进移动前端

仔细算来,加入新公司每日优鲜已经39天了,之所以记得这么清楚,因为记得这几年所有公司入职的日期,也是因为工作换的不多。这是回到北京的第二份工作,移动互联网公司,是自己喜欢的公司类型,也使用了比较新的技术,也让自己走进了真正的移动前端。

先说一下公司做的产品,目前公司业务主要集中在微信上,我们开发的APP「每日优鲜」android 版本已经发布在豌豆荚,百度应用,安卓市场等几个比较知名的应用市场上了,ios 版本的还在等待APP Stroe审核,预计需要一个月才能放出来。以上都是native app,本周我们也完成了web app的开发,功能跟native app是一样的,不过针对的是浏览器而已,因为业务的需要目前只能在微信内部浏览器使用,对其他手机浏览器业务功能不开放,只能显示页面。

进入到公司这些日子以来,算是踏进了前端的大门,最初的感觉就是一大波技术扑面而来,各种陌生的技术名词不断的出现,出于对于技术的喜欢,着实让我开心的不得了,随之而来就是强大的学习压力了,后面我会给出目前公司所用技术的思维导图。老板很大方,技术部统一27寸 Apple LED 显示器,Apple Mini, 无线键盘鼠标,无线触摸板,说心里话,个人是非常开心使用大屏幕的,写代码真的很爽,加上mac os 各种便捷,多屏幕切换,触摸板的强大功能,颠覆了自己之前在window下的coding体验。

前端

来说说技术,公司使用ionic进行开发,也是因为ionic 我们做到了write once, run anywhere.不过针对不同平台个别插件还是要使用各自平台原生语言来进行开发,目的就是为了进一步提高使用体验。

ionic负责打包编译成不同平台代码,内部业务开发重度依赖AngularJS,使用过AngularJS之后你会喜欢这个框架的,MVC的结构让各个模块结构非常清晰,跟之前使用jQuery操作到到NG的关注数据开发是不同的感觉,由于只关注业务跟数据,所以代码量也减少了40~50%左右,而且AngularJS非常适合SPA应用的开发。

对于JS部分的开发,我们统一使用TypeScript进行开发,之前一直使用coffeescript,这2个都是针对于js诞生的新的语法糖,2个语言的侧重点不同,typescript在开发时给人一种类似后端语言面向对象的开发方式,因为是微软推出的所以语法跟C#有很多相似的地方。

既然是前端开发肯定少不了CSS,目前我们使用SCSS根据模块划分的文件,打包时会将所有.scss文件合并在一起,自己之前是纯手工写css的,不得不承认自己CSS相关技能比较弱,也在加强CSS3相关的技能,毕竟页面上很多效果我们尽量是通过css来实现的。

与css相关的也是每个前端每天都用到的一点:布局,面对不同平台,各种终端,自适应还是非常重要的,目前我们使用的是flex-box,个人还是比较喜欢flex-box感觉灵活适应性也比较强。

工具

关于工具,自己挺汗颜的,为了使用windows系统,特地买了正版的parallels desktop,400大洋也是唯一买的一个正版软件,目前mac 上装的大部分不是免费就是破解的,感谢天朝各位破解大神。

公司所有的项目统一使用git 进行版本控制管理,我们使用git flow来规范我们日常git工作流程。

因为是第一次使用Mac os 进行工作,跟以往windows下不一样感觉就是,mac 下需要自己去学习很多命令,自己目前在使用的命令行工具是Item2跟myzsh 以及tmux分屏神器。

平时开发使用Webstrom,其实sublime也可以,不过Webstrom集成了很多功能,比如说文件监视并编译,所以干脆直接用webstrom来开发了。

Gas Mark和Charles在进行微信JS-SDK的功能开发时,做了代理,方便本地测试。

技术思维导图

技术思维导图

 

独行

被微信的提示音吵醒,疲懒的看到显示屏上8点42分,这个时间对于准备回家的我来说,有点迟了,既然醒了,我是断然不会翻身再睡的,惺忪的眼皮跟疲惫的大脑提醒着我睡眠质量不高,这周完成了APP向Web App的功能兼容完善,本周已经有3次凌晨12点以后回到家了,累的同时心里也有些郁闷,昨夜一个人睡反而不大习惯,也是很晚才睡,因此注定是不愿意在去熬长途汽车回家了,当真是离家近了方便很多,想来回家也仅仅是睡一晚上,第二天又要匆匆赶回来,瞬间感觉疲惫。

「唰」拉开窗帘,周一刚买的P8映入眼帘,心头一跳,既然不回家索性出去骑车,女朋友昨晚去了平遥,P8黑色的光泽瞬间有了莫名的吸引,马上就是五一,也可以回家,立刻给自己找到了一个骑车的好借口,立刻调出之前收藏好的北京骑行路线,10几条路线,有近有远,歪头算计着距离上次骑车还是在离开上海前夕,将山地车给杭州的朋友送去,距离今天已经过了半年多了,在感叹时间飞逝的时候,决定去十三陵练习一下,单程40+公里不算太远的距离,想起当年环太湖的强度,当真是小清新了。

有了路线,确定了目的地,原本闷闷的心情开始有了一丝期待与兴奋,便开始翻腾衣柜找出骑行服,旅行乡里搁置很久的长袖,跟泳衣混在一起的骑行头巾,取下去年就相中前2天才买下的骑行背包,瞬间万事俱备了,看着这些装备,我开心的笑了,脑海里闪过的是这些年与好友骑行的日子,依然记得当时为了骑行,几个小伙伴特地召开了买车定下骑行目标的圆桌会议,飞过那些骑行的日子,我有些迫不及待了,穿着拖鞋就下楼采购干粮去了。

这是北京的第一次出行,目的地十三陵。天气很给力,抬头映入眼前的是难得的淡蓝色的天空,回想往昔雾霾相随的日子,这是个好兆头,再一次的独自上路,恍惚中记得去年独自飞奔去西塘的那次,之所以深刻,是因为那是在南方最后的一次驰骋,最后一次穿越古镇,跨过石桥,还有裹进缠绵的细雨里,回忆,因为回不去所以才忆

飞奔在京城的路上,跟以往上海,杭州果然不一样,宽,真的很宽,可是别忘记了这是哪里?这是帝都,人口密度最高的城市!当初在二环上班时就盯着环路上的汽车,白天根本没有断流过,所以就悲催了,路宽但是车多,吃尾气是肯定的了,开始怀念杭州路上树木葱葱郁郁的自行车专有车道了。

出了四环顺着京藏高速一直往北,中途会经过回龙观,昌平。这段路,我只能呵呵了,堵车见过吧,尼玛,来这里你会很郁闷,肯定会骂娘,杭州堵车,起码自行车道不会被占,这里尼玛到处是四个轮子的天下,好吧,我承认2个轮子的的确不让上高速,但是我也没走高速呀,到昌平前的这段路,很不爽,汽车堵在自行车道,没办法只能走人行道了,无数次的上下车换道,我都懒得骂了。还好接近昌平就好了很多,一直到十三陵骑的很顺畅,很有了骑行飞驰的赶脚。

中午12点多到的十三陵,看着远处典型的黄色琉璃瓦,红色的石砌墙体,高大的圆顶宫门典型的皇家建筑风格,心里升起一丝不耐,远处的建筑在我看来当真不如行至深山时,转山见到到一座巍峨的高山来的有吸引力。可能是因为那些建筑最大限度被利益化的原因,十三陵里面肯定没有了皇亲贵族,仅留下冰冷的建筑,我也懒得进去看了,在神道门口阴凉处补充完能量,拍拍屁股返航了,不带一丝留恋。

有人说骑行很累,定着高温,口干舌燥,屁股膈的生疼,甚至还会迷路,甚至会撞车,浑身臭汗的到底图啥?我不知道别人回怎么说,但我知道喜欢骑行的人肯定会呵呵一笑回答:因为喜欢。我喜欢骑车,是因为追着风的身影,一路上孤单的只有影子伴随,可以静静的面对自己,可以进行的思考自己,车轮摩擦的呼呼声提示自己,哪怕再慢可还在不断的前行,就像人生。

缓缓的转入四环,太阳依然偏西了,淡黄色的光铺满路面,映在脸上还有淡淡的温度,影子被拉的很长,前方就是就是终点也是起点

不要让英语成为你前进的障碍

这是在回家的路上突然想到的一个问题,每一个程序员当TA决定走上编程之路的时候,英语已经与之建立了联系,而且是早晚要面对的问题。

绝大部分编程语言都是由英文单词组成,有国人发明了中文编程语言,例如易语言,不过中文编程语言毕竟没有流行并推广起来,绝大部分程序员使用的编程语言还是英文的。
让自己纠结的是我也遇到了同样的尴尬境地,随着编程经验的增长,以及某度搜索结果的惨不忍睹,还有国内技术更新相对较慢,越来越多的开始倾向于想国外搜索资源。所以越来越迫切的想提高自身的英语水平,所谓欲速则不达,本来就没有什么速成的法子,回想自己学习的精力,除了一点点本法子似乎当真是无脑了,也可能是没有明确的目标,毕竟没有了升学,高考,雅思之类的压力,所以学习力度肯定不如那些奔着以上目标去的人了。

也不说英语差就不好,现在的学习方式这么多,中文资料也是相当丰富的,认识的朋友中也不乏英语一般,但技术能力很优秀的朋友,我是想英语掌握好,也算是一门技能了,不想说一大堆道理,也不想说一堆学习方法,这些网上的教程很多,我想对自己说的是:不忘初心,方得始终。

Ionic应用打包apk过程(笔记)

Ionic应用打包apk过程

  • 添加crosswalk

//查看ionic现有的浏览器插件

ionic browser list

 

//添加crosswald

ionic browser add crosswalk@11.40.277.7

 

  • 检查android SDK配置

brew info android-sdk

正确设置ANDROID_HOME

 

  • 编译

ionic build android

  • 用IDEA打开编译后的Android项目
    • 此处需要配置IDEA的开发环境
    • android的sdk目录
    • 设置Gradle
    • 更新JDK至少7.0以上
  • 安装到手机

//编译ionic项目

ionic prepare

生成 Signed APK(生成正式版的apk)

//安装到真机

adb install -r platforms/android/android-armv7-release.apk