一、为什么要学习网络编程
1.简单说明
在移动互联网时代,移动应用的特征有:
(1)几乎所有应用都需要用到网络,比如QQ、微博、网易新闻、优酷、百度地图
(2)只有通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力
(3)如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水
移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据
新闻:网易新闻、新浪新闻、搜狐新闻、腾讯新闻
视频:优酷、百度视频、搜狐视频、爱奇艺视频
音乐:QQ音乐、百度音乐、酷狗音乐、酷我音乐
LBS:百度地图、高德地图、大众点评、墨迹天气、滴滴打车
电商:淘宝、京东商城、天猫、蘑菇街、凡客诚品、美丽说
社交:QQ、微信、微博、陌陌、比邻
为什么要学习网络编程
网络编程是一种实时更新应用数据的常用手段
网络编程是开发优秀网络应用的前提和基础
2.网络编程示例
二、基本概念
在网络编程中,有几个必须掌握的基本概念
客户端(Client):移动应用(iOS、android等应用)
服务器(Server):为客户端提供服务、提供数据、提供资源的机器
请求(Request):客户端向服务器索取数据的一种行为
响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端
作为移动开发工程师,主要的精力都是放在前端开发
三、服务器
1.服务器的分类
按照软件开发阶段来分,服务器可以大致分为2种
(1)远程服务器
别名:外网服务器、正式服务器
使用阶段:应用上线后使用的服务器
使用人群:供全体用户使用
速度:服务器的性能、用户的网速
(2)本地服务器
别名:内网服务器、测试服务器
使用阶段:应用处于开发、测试阶段使用的服务器
使用人群:仅供公司内部的开发人员、测试人员使用
速度:由于是局域网,所以速度飞快,有助于提高开发测试效率
(3) 搭建外网服务器
本质:还是内网服务器、测试服务器
效果:在Window上搭建,并且实现外网访问,搭建能让你的其他设备联网都能访问的JSP网站
详细搭建过程请阅读本人另一篇博文:如何在自己的Windows系统上 架设服务器并开发网站,然后连入外网供外界访问?(JDK+Tomcat+花生壳)
2.本地服务器的选择
如果处于学习、开发阶段,自己搭建一个本地服务器即可
(1)选择怎样的本地服务器?
在公司开发阶段,已经有专门的后端人员开发服务器程序,不由得你选择
在学习阶段,选择什么本地服务器都可以,能用就行
(2)在要想在Mac上方便地启动Java服务器,大致有以下步骤
1)安装JDK (Java Development Kit)
2)安装Java的开发工具:eclipse 下载地址:http://www.eclipse.org/downloads,选择64bit、Java EE版本的
3)利用Java编写一套服务器程序
4)配置服务器的容器:Apache Tomcat 下载地址:http://tomcat.apache.org/download-60.cgi
5)启动Apache Tomcat
3.本地服务器的主机地址
本地服务器的主机地址一般有3种写法:
(1)127.0.0.1 :每台机器内置的IP地址,指的就是机器本身
(2)localhost :等价于第1种情况的127.0.0.1
(3)交换机\路由器分配的IP地址 :真机测试一定要用这个,且真机和服务器得在同一个局域网内