今天第一天开工,leader开了个小会聊了下大家近期的技能提升计划,会议记录
要走coder这条路的话,一个是基础知识比如java基础、设计模式等。另一个是快速应用sdk的本领。将快速出现的比如支付sdk,地图sdk,融云的IM……导入自己设计的结构中。
很多市场是难以进入的,比如支付需要政策上的支付牌照,很多这些事情改变不了就不要瞎操心了。
很多新兴技术也不一定就是适合的,比如H5,没有一定的js基础学习曲线是很陡峭的。比如swift之与OC,很多新技术是和旧知识相通的,如果没有响应的语言基础,那就需要自己拿手领域的技能到达一定的程度然后推演开相关技术,触类旁通不是一朝一夕的功力。
2C的应用盈利模式不明朗,大部分都是烧钱买用户然后再烧钱,今年形势严峻估计没有市场。已经形成的那些暂时饱和,总结2C类的app的必备模块和各个模块中常用的开源代码或者必备sdk。比如:支付,好友圈,社区,LBS与即时通讯等。
注意各类app是有不同的应用架构的。2C的可能和纯电商的不同,还有新闻资讯类、工具类等等。
缓存建立:需要接口的支持和本地缓存系统的建立,一般是文件缓存和数据库缓存,时间戳,什么时候请求什么时候同步。
对我的建议是继续钻研Native的控件部分。还好跟我原来H5还是底层这两条看似两极的路子有个重叠。
我的:
模块化的东西比如:业务上第三方登录,分享;功能上比如:照片选择器,图片缩放保存等。Module化为自己的库。
UI上:1.首先学着建立一个简单的控件,像github一样做成依赖的库。从hiffit开始独立出一个或几个控件,完全脱离业务使用,做好演示gif和使用文档,就像以前应用的github开源控件一样。
2.调查目前常用app中那些比较通用的控件和手势操作,集成为自己的UI库,就像大公司有自己的UI库工厂一样,有相关的需求就利用并扩展这个库,easyui4android,这个库有两个要求:一是要与具体业务独立,完全可以抽离出设置。而是可扩展,便于集成到各种业务场景下并能灵活的扩展特定需求。
控件可以从material design的开源例子入手,手势调查常用app的,比如下拉刷新,平行视差,侧滑返回,侧滑删除,滑动切换tab,手指的捏合或flip:地图缩放与旋转等,常用的手势是有限的。
大一些的例子比如之前的无限fragment滑动,下拉背景图,下拉渐变,toolbar透明栏等等。实现的原理能否讲述明白。
用过的例子如Ripple,Marquee的textview,gif动画等等。每种的思路是怎样的,深刻理解绘制的流程和机制。
目前用过的那些页面结构总结:底部tab,顶部tab,tab滑动fragment,主题色一致标题栏,toolbar渐变色等等,集成用法和demo。
近期任务1-3:结合hiifit和流行控件写一个1-3的分析的文档和一个相关的可compile引用的开源控件。
1.布局:原理和性能
2.动画的类别和使用方法:特别是强大的属性动画,使用以及介绍。
3.自定义UI的功底:
明白View的绘制,每个步骤,对于那些没见过的UI特效需求要能预估实现的可能性和实现方案和工期。然后再深入到openGL和surfaceView,以及JNI利用C++处理绘制。然后是图像处理,手机上的photoshop。这才有点专业知识的影子,才到那个最初的梦想。
如果像图钉,不要妄想什么都会什么都看,一定要有一个特长,朝着一个特定的方向努力才能在这个新技术日新月异的时代有突破的可能。
后记:不要遇到问题就不停的搜查网页一遍遍的打开别人的博客妄想寻找最直白的解释和最简单的解决方案。找一个靠谱的文档仔细钻研、模仿、实现、优化。想走PG这条路,就不能绕过这个最艰难的部分,也将会是这部分艰难成就以后的高度区分出程序员不同的层次。