新书推荐《从Node.js到iOS学注册登录》

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

购买地址:https://selfstore.io/dashboard/products/572

开篇

一直以来习惯在做一件事情之前先想想为什么要做它,能够从中得到什么,尤其是做一件需要占用他人时间的事情时更希望有一些明确的理由。下面是几个问题和我思考的答案。

1. 为什么要写这玩意?

作为一个“教育工作者”(在天朝貌似只有手捧铁饭碗的才能说教育),其实最希望的是给学生讲解清楚基本工具的使用和原理后,他们能够自己举一反三,从简单到复杂的完成一些功能甚至应用。但根据这么几年的观察,能否做到这一点一定是 判断一个人学习能力的最佳标准 。作为职业教育,我们面向的基本都是即将本科毕业或者刚毕业的学生,因此在智力和理解能力上应该不会有太大的问题。可惜许多学生很难做到这一点,究其原因,大概有一下几种:

  • 不屑于动手,上课讲的内容太简单
  • 懒得动手,十几年的学生生涯使得对课堂上的东西的实用性有了严重怀疑:“反正又不能解决实际问题”
  • 怕出错,习惯了抄袭所谓的标准答案
  • 没有兴趣,培训的原因仅仅只是因为同学也培训了

戴维营教育 一直以来对学生的基础的训练要求很高,因为这些能够让大家在行业中走的更远,而不是仅仅关注眼前的一点点利益。在 戴维营教育iOS课程 中,我们特意加大了“ 网络编程 ”的分量,因为在这个移动互联网的时代,基本所有的游戏和应用都需要进行网络通信。鉴于移动互联网中 HTTP 协议使用最为广泛,我们分三个阶段进行了学习:

  • 早期学习基础框架时,熟悉系统中与HTTP相关的类,并编写了一些文件下载、在线音乐播放甚至多线程断点续传的代码
  • 中期在熟悉API的基础上详细介绍HTTP协议以及相关的一些RFC文档,弥补大家理论上的缺陷;同时通过学习常用的工具,如WireShark、Charles、HTTPRequster、Firebug等深入理解实际应用中
  • 后期使用Socket进行TCP/UDP通信,剖析网络的方方面面

这三个阶段分布在前面三个月中,目的是给大家一个逐步深入的机会。在这三个阶段结束后,我们会实战项目中使用HTTP协议。很遗憾的是,哪怕是经过了这么四个阶段,还是有学生纠结在登录/注册功能,哪怕告诉他这也只是简单的HTTP请求,可以按怎样一个流程进行处理,他们还是觉得难于上青天。

这就是为什么我会编写这个项目的主要原因。

2. 能从中学到什么?

我们的目标是学习在iOS应用里如何实现登录注册以及第三方登录功能。但是为了对整个逻辑有一个更好的理解,以便在实际工作中使用,我们会从后台服务器开发开始,直到最后的iOS应用。内容含括:服务器软件安装、数据库管理、后台接口开发以及iOS应用开发。其中服务器端采用Node.js、MySQL,iOS端使用Objective-C以及Swift两个版本。服务器端的语言和工具有很多,这里选择Node.js主要是为了减少对服务器的配置,并且与我们后面的React Native的课程有一定的连贯性。

Node.js使用Javascript,支持跨平台开发,并且拥有众多的功能模块,能够简化我们的开发过程。Javascript的入门语法想对比较简单,并且有学生可能使用它进行过Web开发。目前有许多公司采用MEAN(MangoDB、Express、Angular和Node)进行开发,这样可以统一前后端的语言。但是在这个文档中我们并没有采用MangoDB、Express以及Angular。其中数据库采取的MySQL,这样就可以继续使用我们熟悉的SQL语句。而Express被Restify取代,Restify是一个Node.js的模块,它借鉴了众多Express的特性,但是并没有提供模版来渲染网页,主要用于快速实现RESTful接口,这在移动开发时非常有用。至于Angular的话,我们并不需要Web页面,因此不需要它。

3. 如何学习本课程?

程序开发更多的时候是一项技能性的活动,而不是发明创造。这里并不是说我们就不需要进行思考,但应该花更多的时间去动手实验,从而熟练这些工具和语言的使用。学习程序设计第一步应该是在大脑中使代码和它将会产生的结果之间建立映射关系;并且在不断的使用中深入理解它们的能力和限制;最后才能灵活的使用不同的工具来实现一些看是陌生的功能。实际上大部分情况下,有经验的人和没经验的人的差异就在于他们对手头的“工具”的熟悉程度上,而与智商没有任何关系。这也是为什么我们可以经过紧张的短期培训进入一个全新的行业。学好本课程所需要的几点都在下面:

  • 跟随教程操作一遍
  • 重点关注数据的流向
  • 不要过多的纠结在语言层面
  • 学会在一堆“杂乱”的内容中查找自己熟悉的
  • 使用合适的工具绘制流程图帮助理解
  • 与其它人讨论
  • 不看课程,实现一遍自己需要的部分(比如iOS部分)
  • 编写博客总结

4. 哪里获得课程帮助?

戴维营教育致力于提供最高质量的职业教育,拥有大量优秀的课程资源,并连接了众多一线开发者。我们可以在 戴维营学院http://v.diveinedu.com 上获取更多视频资源,通过 潜心俱乐部http://divein.club 交流学习心得和答疑。

转载于:https://my.oschina.net/kgdugyiy/blog/608870

你可能感兴趣的:(移动开发,javascript,数据库,ViewUI)