.

杂谈-关于一些APP

时间:2019-03-25 11:32

尝试过写了些 Hello World,对各大平台的 App 开发有了点毛皮上的看法,我就想来吹吹水,谈谈我的感受了。

学校有开 安卓、苹果开发 的课程,我本人则从小就接触过 C# 的开发,加上本人看了一下视频理解了 Objective-C 的一些根本用法之后本人试着写了个 macOS 的 App,也算是各个平台都碰了一下了。

我的感受就是,App 开发重要在对 App 自身功用的构思以及 MVC 的运用。Android 和 iOS 以及 macOS 的 App ,均以 MVC 的方式构建的。界面跟控制器区分,然后再配合模型层的这种架构,使得一些反复度很高的代码可以高度重用并构成框架,平台的工程师曾经做了这些事了。运用这些工程师们写好的框架,其他开发者可以很容易上手一些较爲复杂的言语平台的 App 开发(例如 C / Objective-C,这种非常原始的言语)。关于界面渲染的 API 和常用的数据构造的算法,工程师们曾经整合好了,所需的就是把大局部关注点转移到业务逻辑上去。

还有一个就是,我对“懂一门言语,入门其他言语就很容易”这句话有更深的了解。说假话,到了如今我曾经接触过可以运用的言语有 C、C#、Java、Javascript、Objective-C。每一门言语我都能运用其写出一段纯逻辑的代码。即使碰到不懂的言语,花一个下午看看入门视频,把语法和变量类型掌握到手,我就能末尾运用这门言语写顺序了。缘由在于,每一门言语最最根底的就是语法和变量类型。

运用一门言语开发其实就是运用一门言语及基于这门言语展开而来的函数库和框架来开发。用其完成一个企业级 Web 运用或许界面敌对的本地 App ,外面需求的代码都是很多的。但假定要剖析代码的运用,可以发现占比最多的,并不是运用的业务逻辑代码。不必任何框架来说,一个企业级 Web 运用,占比最多的代码可以是关于数据库拜访的管理、 HTTP 央求处置和 HTML 页面的渲染;一个界面敌对的本地 App ,占比最多的代码大约就是关于渲染界面、处置用户界面逻辑、文件处置以及网络处置的代码。这些占比最多的代码,即使是写法不同,但是目的都是一样的,都是处置数据库拜访、 HTTP 央求、 HTML渲染、界面渲染、界面互动逻辑、文件处置以及网络衔接纳理。所以之后才有了那麼多框架 Hibernate、Servlet、Free Marker、JavaFX、以及一些针对某类型文件的函数库和针对网络衔接纳理的框架。

由于有了这些框架, App 开发者才可以关注于业务逻辑的处置而无需过多关注其他方面的细节(不敢说不能关注,由于晓得其完成原理对开发来说还是很有协助的)。框架多起来了就需求查询 API 文档了。开发这些 App 都有固定的方式,逻辑曾经到手了,接上去就只剩下怎样把代码都串起来。有点像组装一台机器, API 文档就是一本阐明了这个平台提供的代码碎片(想像成零件, CPU 啊电源啊内存啊显卡啊……)有什麼用途的手册,而开发者则只需求按需把这些代码碎片依照恰当的方式(你的业务逻辑,可以想象成蓝图,例如我要组一台可以全高玩孤岛危机的电脑)拼接成一个运用(想像成实践的电脑主机,但显然电脑主机组装复杂多了……)。有了这些框架,就像组装一台主机不需求你本人焊接一块主板甚至本人蚀刻硅片做芯片。

总的来说就是,各个不同平台的 App 开发其实就是用相反的逻辑在不同的言语上运用不同的框架来组装一个运用