初次研究android开发的第一篇心得

在研究了adr开发的MVC模式之后,我觉得M和C没什么问题,挺好,但是这个V,我非常不满意.

众所周知,手机上不可能存放大量的数据,一个APP大多对应一个网络数据库,所以多数时候进行的是从数据库上获取数据M,经过处理后C,然后在界面上进行展示V.

这跟PHP写网页有啥区别啊?

在手机上放控件,就像网页元素中的标签+CSS,里面的数据,就是从数据库中取出来的.但是不管是PHP,还是ASP,都有一种非常好的方法来存储这些数据库中获取的数据,然后遍历筛选后直接填入各式各样的标签之中.

我们写网页,可以很方便的用HTML+CSS+JS弄前端,然后置入从后台获取的数据,我觉得这个模式是非常好的.

但我们写APP,发现完全不同了.

有人可能会说APP是程序,和网页有天壤之别,不要混为一谈.恩,这倒是,APP难度跟桌面应用开发难度相比, 简直是幼儿园难度对标高等代数了.

我研究过手淘天猫,联通移动的客户端,我觉得跟网页版没任何差别,甚至是模仿网页版的UI设计.

这跟程序有个毛线的关系,就是披着APP的壳的网站.

所以不要跟我装B,你提到MVC,你就跟网页脱不了干系,毕竟MVC就是写网站的时候出现的一种思想.

不过在android这个MVC中的V,有几点是不吐不快的.

放着成熟的HTML和CSS标准不用不借鉴,用最原始的XML标签来建构.有人说HTML本质也是XML标签,恩,这很对,但是你见过HTML里面的XML和样式全部混在一起,没任何可读性吗?既生成,且描述,即元素和样式全挤在一起,这算什么鬼?所以这是一个让我瞧不起的败笔,你既然要讲分离,你就要好好的分离.

另外,android提供了五花八门的所谓布局模式,绝对相对约束线性,似乎是想让人膜拜谷哥工程师的技术实力,其实这都是狗屁.

所谓手机屏幕,对标的就是网页容器,你见过网页里面有这些乱七八糟的布局花样吗,一个CSS就能让你实现任何你想要的效果,谷哥弄这么多乱七八糟的布局,还美名其曰为了适应各种手机的屏幕,真是让我笑掉大牙,你见过不能适应各种显示器分辨率的网页吗,你用手机浏览器上过网站吗,那自适应效果比你不知道高到哪里去了,而且开发还简单.

我就举一个双方都有的控件例子.比如button,都有width这个属性,CSS里面设置50%,就能在所有尺寸手机中自适应.文本框,margin,padding,都能有百分比设置,但android就不行了,他是什么warp和match,非常恶心的感觉.

讲真,要想自适应,最好的办法就是百分比属性,任何绝对的像素值都是不行的, CSS非常完美的实现了这一点,但android中所谓的DP,我根本不敢用,因为不具备任何的自适应特性.

最让人恶心的是,最近安卓推广约束性布局模式,就是说你们以前学的什么线性相对都会统统过时,有些小白就喜欢的不得了,其实对于真正的见多识广的开发者来说, 这种换汤不换药的小更改,耍小聪明,实则是增加开发成本,增加学习难度,不治本.真正要想治本,你就放弃这种乱七八糟自己都不相信自己的所谓布局模式,向成熟先进的HTML+CSS这种UI构建思想学习.

小结一下:谷哥没有一个成熟的页面展示思想,所以造成如今的乱七八糟的布局模式,另外在布局模式里面,元素类型和显示样式全挤在一起,一点都不分离,能让人起鸡皮疙瘩.开发起来效率极为低下.

第二个不满之处,适配器

众所周知, MVC开发之中,C是重点,是大头,是难点,代码量也最多.但android如今给我的感觉,就特么的就光想着怎么写远程数据怎么适配到各种乱七八糟的布局,怎么传给屏幕上的控件了.

我们举个例子,传统S/C开发中,我们要获取本月的订单列表,可以向S端请求,请求到后,设置到C端控件中,即可展示了.

但是android开发中,你获取的原始数据,你还不能急着去设置到终端,终端也不接受,你首先得把这些数据缓存起来,然后去写一个适配器,连接数据缓存和布局,连接后,你还要控制第一个订单子项的view,还要手动缓存这个view,当然你手机性能强也可以不缓存.

而这适配器的开发是完全要用户手动的,谷哥不提供任何帮助,全特么的交给开发者了.

话说我有数据来了,你的OS就不能想个好点的方式赶紧接收了吧?

那人家写桌面应用也有滚动框,上拉下拉,网页开发也有大量数据需要上拉下拉,别人为毛不需要缓存呢?

因为谷哥不操心,本该由它自己实现的功能,全特么交给用户来实现,导致所谓的APP开发就是日夜不停地写适配器.

或许有人会说,全让OS做了,那写APP就太简单了,完全没什么快感了.

确实,一般的APP,就是增强版的网页端,肯定没什么意思了.

但是我们不能以此为借口,继续做这种无用功的开发.

安卓,不仅开源的版本乱七八糟,极度碎片化,而且,它提供的开发包,也是乱七八糟,不成体系的,昨天天出一个说代表以后的先进开发方向,今天天马上又出一个否定昨天的,明天又会有,这,实在是谷哥工程师的无能!!!

不管你同不同意本文的观点,但是,这代表了一个资深桌面应用和网站开发者的观点.

讲开发难度和应用场景,安卓抵不过windows 1/10000,但讲装B无能,安卓数第一.

你可能感兴趣的:(初次研究android开发的第一篇心得)