前段时间实习了三个月,做的是web app。
移动端开发
去年也学习过android开发,也算是为web app做基础了,都是java web那一套东西。
移动端主要是android、ios、web app.个人倾向于web app,原因是跨平台。试想做任何一款移动app至少都是要android,ios两个版本,但是用web app来做就一个版本好了,成本低。
虽然现在web app一些效果、功能不如原生的漂亮,容易实现,但是我看好其发展。
所需软件
开发所需软件列表
软件 | 描述 |
---|---|
eclipse | 后台开发 |
intel xdk | 客户端打包 |
chrome浏览器 | 调试前台 |
mysql | 数据库 |
navicat | 数据库可视化软件 |
jdk | java虚拟 |
svn | 版本控制 |
产品
-
做一款app,产品不只是app,因为需要还会顺便生成附属产品,比如管理员系统,微信公众号,因为后台都是java代码,公用性很强,所以这也是web app的优势。除此之外如果用户分类的业务比较独立,可能客户端也不只是一个app。
web app
- 主产品 管理员系统
- 任何一个系统都不可少的,需要独立开发。 微信公众号
- 作为主产品的推广产品,可充用app代码。
主要技术
前后台交互技术 ajax:
$.ajax({
url: alf.address + "user/login/canLogin",
dataType:'jsonp',
data:'',
jsonp:'callback',
data: {
user_type_code: user_type_code,
account: account,
password: password
},
success: function (data) {
if (data.success) {
window.location.href = "index.html";
} else {
$(".error_msg").html(data.reason);
}
},
error: function () {
$(".error_msg").html("请求超时");
}
});
后台SpringMVC.公司在SpringMVC的基础上封装了自己的框架:
@Controller
@RequestMapping("/user/login")
@Scope("prototype") //多例
public class LoginAction extends BaseAction {
@Autowired
private LoginService loginService;
@Override
protected LoginService getService() {
return loginService;
}
@ResponseBody()
@RequestMapping("/canLogin")
public Map<String,Object> canLogin(){
this.add("account");
this.add("password");
this.add("user_type_code");
boolean b = this.getService().isExisted(Target.Login, this.getParams());
this.setCallback("result", b);
return MAP;
}
}
学习web app所要的知识准备
java基础和html基础肯定要有的。除此之外还要用到其他的。
css:不做前台的也一定要学习一下css布局,因为有些时候一点小的显示问题都反馈给前台来做很耽误时间,比如文字对齐,input拉伸问题。
jquery:做前后台交互用带很多,对于非前台人员,建议用到的时候再去学吧。
MVC项目经验:光有java基础其实是不够的,因为公司的框架已经是层层封装,没见过的人肯定是短时间学不来,如果之前有过mvc经验或者给予框架的开发经验就很easy了,对于有经验的人来说,所有的框架才都是纸老虎。
技术之外
- 加班不可避免,我所在的小公司兼职是加班加到吐,如果你要选择实习,尽量选择大一点的公司吧。
- 实习就是赞经验,遇到的问题多积累,日后你都会遇到的。