我在做开发的这些年里,无论是做前端(类似iOS,android,desktop)或者后端(server)的,一般都使用JSON进行前后端的数据交互。
各种编程语言都提供了各自的解析库,然而从JSON 字符串转换成相应语言的对象,不同语言的解析有所不同,JavaScript,PHP这类弱类型语言尤其简单,这里不作讨论。但是在强类型语言中,JAVA,C#,GO这些支持反射的语言只要写上相应的类,解析还算方面,而Objective-C,C++这类语言就不如人意了,但是也有一些工具可以把【现有】的JSON数据转换成对应的类文件。尽管这些库和工具可以一定程度上提升了开发效率,但是在前端与后端人员定义、更新接口时,还是有诸多的不便;
Q,:强类型语言有哪些不便?
A:
1,强类型语言需要写很多类文件,尽管有些转换的工具,但是在前后端同时开发定义接口的时候,一般都是先定义接口,然后再等后端开发完才有测试数据的,如果使用这类工具,前端就只能等待后端开发完才能继续工作了。
2,每个接口提供的数据结构不同,用工具生成的类也不同,很有可能使得同是一个User类,就因为不同接口提供的User字段少了一个,就生成了两个不同的User类文件,这类问题在更新接口时候尤其突出,并且还要找改了那个类,改错会不会出现bug。
3,后续人员维护,又或者新增一个前端(比如一开始只开发了iOS,后来开发android),需要重新的看接口文档,然后埋头写接口用到的类文件或者用工具一个个接口生成。解决方案:
JSONClass(http://www.jsonclass.com),
快速定义前后端接口,使用JSON协议,自动生成接口类文件,一次定义,多处使用,支持C++,C#,Java,Objective-C,Python,Go 6种编程语言,在前后端开发人员定义接口时就解决这些问题,别看人家效率高,其实是他学会了“偷懒“!!