使用Titanium 进行敏捷移动端开发

本书介绍了一种全新的开发移动端的技术。

目的是实用,可以让人快速上手干活儿.

希望能让读者具备下面的技能:

  • 会写UI(前端各种按钮等)
  • 会使用原生功能(拍照等)
  • 会使用第三方包(社交分享,推送,支付等)
  • 会发布app

书中的各种技术, 都只是入门;进一步的深入学习,请参考官方文档,或者到国内Titanium 社区提问(http://tidev.in)

软件开发的个人观点

我从业11年,这些年来,一直处于第一线,没有脱离编码。我的感受是:

要知识面特别广

软件开发是手艺活儿。由很多很多种技术组成。

有个误区:软件开发,捧一本技术书读完,你就是高手了。

在我看来,软件从业者所需要的知识非常庞杂:

不但要掌握多门语言,还要对操作系统,数据库,CSS,自动化,版本控制等等很多 内容有涉猎。

软件开发还要有良好的英语基础,不错的沟通能力和情商。

很多公司在招聘时,特别喜欢让候选人做算法题,做SQL题。 这样人也有这样的想法:以为做了算法题目之后,软件就精通了。

实际上,这样的人很可能无法做出像样的东西来。

市面上的书籍,大部分都是只针对某一门技术的。例如:某个数据库,某个语言。 学了之后,你会发现,80%里面的内容都很少用。

用的时候现查资料就可以了。 比如说 多线程编程。

在当今的web开发和mobile开发中,算法没那么重要。

很多公司在招聘程序员的时候,都会拿出算法题目。

算法固然很重要,但是在当今的环境下,我不认为我们会有太多机会在算法领域有重大影响。

我看到的算法题目的作用,只是在入门时对候选人的基本功有所考察。

网络开发中用不到的知识

我总结了一下,下面的知识算是基本用不上的:

  • 各种算法,排序,树, 查找等等。
  • 多线程编程
  • 网络问题, TCP, HTTP协议等等
  • 操作系统的底层。

程序员是可以快速复制的

但是有一定的条件:

  1. 人聪明
  2. 英语不错

聪明是必须的,不能木呐。

英语也是必须的。没有英语能力的程序员做不长久。 在实际的工作中, 我也深切的体会到了这一点。 在任何时候,都要尽量招聘英语好的人。

国内跟国外的差距

目前来看,主要是英语的差距。

国内的程序员的智力完全不必国外的差。 差只差在英语上。

所以,初级的程序员看百度,他搜到的都是中文的知识。 高级的程序员都要google, 因为google出来的内容都是英文的。

找到关键debug信息后, 一搜就搜出来一大堆结果。

另外,英语好的程序员更容易到github上去参加各种开源项目,在参与过程中, 可以极大地提高自己的沟通能力,动手能力和组织能力。比如 ruby-china论坛的搭建, swift语言的翻译等等。

是否有批量生产软件高手的途径?

有。但是长路漫漫。

一个人,从一张白纸成长为在工作中独当一面的开发高手,一般来说需要:

  1. 有优良的底子(聪明,英语好)
  2. 有吃苦的精神(认真负责,遇事不推脱)
  3. 有大型项目的锻炼(接手一个上亿用户的项目,有一两年就可以了)

多久成长算合格?

做移动开发,使用Ti的话,基本一个月之内。快的话3个星期。看这个人的英语水平。

但是从入门到熟练,还是需要比较漫长的时间的。一般来说是一个商业项目, 大约2个月以上。并且有比较齐全的技术知识。