java开发搞了两个月了,由于前后端都要打通,发现了一些以前没注意的问题。
对于常规的前后端开发方案,这篇文章提到了方案选择:http://blog.csdn.net/yeyincai/article/details/51470475
我自己的经验是这些:
RPC+Model:采用grpc+protobuf的方案,在android和ios之间都很方便通信,比起传统的HTTP(s)+JSON方式,开发效率和运行效率都要高很多,不过门槛比较高一点,工作两年的程序员应该能比较顺畅的入门,主要是ios端配置方面稍微麻烦一些。

IPC:android多个应用间的通信,测试过了aidl的方式,目前开发起来比较麻烦,报错系统做得太差了,没有找到合适的插件工具处理在android studio中的问题。估计后面干脆改成grpc的方式看看效果如何。

长链接:打算使用netty,还要看看开发的难易程度。

开发模式:看样子MVC真的已经过时了。 
1. ios和android 都可以使用MVVM,比MVC解耦能力强得多。
2.服务器上,ESB容器外加OSGi组成SOA,也要方便很多。
3.linux客户端,QT半残废,Xwindow主流包装,已经是gnome。

SQL:持久层和缓存层一般都是注册和保存数据使用
1.注册方案,鉴于zookeeper坑太多,偏向于选择consul,consul不像zookeeper这么抽象,封装了服务化的http  api,非常方便调用,并且增加了对服务健康检查。
2.为什么不选用redis?没深入研究redis。个人认为codis方案(豆瓣开发的分布式缓存)能够满足实际场景的需求。