开发APP选择哪种编程语言?Objective-c、Node.js
目前全球范围内APP开发者数量持续增加,依然有很高的热度。开发者们会选择哪种编程语言来开发APP呢?首先开发者会研究跨平台APP设计,知道一些APP开发的常见缺陷、APP的受众使用者、然后选择平台,最终选择一门合适的语言。
Objective-c被认为是iOSAPP开发的标准语言,通过苹果的Xcode集成开发环境使用。
优点:开发的高效能性,可以让你充分利用手机的各项功能、使用objective-c进行编码可以让APP在所有iOS设备上获得相差无几的体验、适配性较高,比如iPhone和iPad。
缺点:使用起来有一些难点,不容易学习,使用Xcode比普通开发更难,通过Objective-c开发的APP很难适用到其他平台上,比如Androidphones和Windowsphones。
不过iPhoneAPP可以被写成 web APP,web APP不需要像Objective-c那么复杂的语言,可以使用HTML、CSS或者JavaScript开发。另外webAPP还可以使用iPhone的某些功能,可以使用HTML5、针对iPhoneS的webAPP可以使用位置功能,但是目前webapp开发比较有限。
webapp开发不能整合设备的核心功能,比如发文本消息,也不能充分使用APP store进行销售和更新。部分开发者认为移动 webapp避免了可扩展性问题,因为他可以跨平台使用。同时webapp也绕开了AppStore严格的提交和更新审查规则。相比较Objective-c而言,HTML CSS及JavaScript学起来更容易些。
JavaScript主要用来进行web浏览器和App的开发,性能方面有待进一步改进和完善,web浏览器开发不完全需要一门新的语言,使用和开发方面没有太大问题,也就是没有坏的时候不用去修理他。
Charlie Robbins(nodejitsu)CEO曾经说:“我认为你完全没有办法让Google、Apple、Microsoft在开发语言上达成一致,这是需要数百万美元来实行的。”JavaScript是相对比较简单的语言,同时还是一种比较有趣的语言,可以用在浏览器开发方面,最重要的是CSS和HTML可以一起使用,允许结构和归档的分离。
Ruby:一种为简单快捷的面相对象编程(面向对象程序设计)而创的脚本语言。
Robbins先前使用过Ruby,他并不肯定Ruby,他说:“Ruby面临的一个问题的是工程师看到函数成为语言的一部分,他们认为使用起来也非常快,他们并未对函数作为语言的执行进行深入挖掘。”Robbins推荐使用第三方函数来代替,这样可以对APP开发有个更综合更全面的理解。使用第三方函数的时候你会持很重的怀疑心态,你会仔细去看代码,看哪些运行的快哪些运行的忙,最终你对APP的运行情况会有更深刻的理解。
在APP开发的过程中创建一门新的语言或者提高现有语言的健康竞争能力,开发者需要知道哪种语言适合自己,尤其明白各种语言的效能和功能。
编程语言
JavaScript
JavaScript 是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML(标准通用标记语言的子集)网页添加动态功能,比如响应用户的各种操作。去年,JavaScript继续着它令人难以置信的创新步伐。
TypeScript
TypeScript 是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。
C#
C# 当微软推出开源 Visual Studio Code 编辑器 和 .Net Core 时,每个人都感到惊讶。它们都可以在 Linux,Windows 和 macOS 上运行,并允许你用 C# 编写快速、高效的应用程序。这些工具促成了一个充满活力的社区。
Python
Python 它正在巩固其作为开发人员、IT 专业人员和科学家的脚本语言的选择的地位。它适用于自动化、Web 开发、机器学习和科学计算。Python 2/3 的选择对于社区来说是一个长达数年的斗争,但是现在你可以自信地选择 Python 并享受完整的库支持。对于那些需要额外的性能的使用者,他们可以看看 PyPy — 一个可启用 Python 运行时的 JIT 替代品 。
Ruby
Ruby 作为通用脚本语言,Ruby 也是一个好选择。Ruby 3×3 的倡议已经公布,这将使即将到来的 Ruby 3 比当前版本快 3 倍,而且会在更多的情景中打开使用 Ruby 的大门。
PHP
PHP 转变为构建 Web 应用程序的快速平台。我们建议把 PHP The Right Way 作为良好的做法和构建 Web Apps 的现代做法。
Java
Java 用于评估代码的 repl、对 HTTP 2.0 的支持和新的 API。有才能的 Java 开发人员和使用该语言开发项目的人对于这些特性有强烈的需求。如果 Java 不是你需要的,有一些基于 JVM 的语言,如 Kotlin 和 Scala,可以去了解。
Swift
Swift 这是苹果对现代编程语言的愿景 — 简化 iOS 和 macOS 上应用程序的开发。Swift 是开源的而且吸引了大量的社区。编写 Web Apps 和后端的一个不错选择。
前端
Web 平台 — Web Assembly 和 Service Workers。它们为构建快速和高效的 Web 应用程序打开了大门,而且弥补了与 Native App 之间的差距。Service Workers 尤其是 Progressive Web Apps 的启用技术,并为 Web 平台的通知提供支持,将来也还会有更多的 API。
Angular
Angular 该框架由 Google 支持,非常受企业和大公司的欢迎。它具有大量的功能,使在从网络到桌面和移动应用程序中编写任何东西成为可能。框架使用 TypeScript 编写,这也是在框架中编写应用程序的推荐语言。
Vue.js
Ember.js
Ember 是 JavaScript 框架的另一个坚定选择。它支持数据绑定、自动更新模板、组件和服务器端渲染。与其竞争对手相比,它的一个好处是更成熟和稳定。重大更改的频率要低得多,而且社区也重视向后兼容性。这使得该框架成为生命周期长的应用的不错选择。
其他
另外两个值得一看的框架是 Aurelia 和 React。经验丰富的开发者可以将库与 GraphQL,Relay,Flux 和 Immutable.js 组合成一个全面的全栈解决方案。
没提到 Bootstrap 的前端汇总是不完整的。
SASS 和 LESS 仍然是当今最流行的两种 CSS 预处理器。虽然 vanilla CSS 最终对变量进行了支持,但 SASS 和 LESS 仍然优先对 mixins,函数和代码组织进行支持。
后端有很多选择,所有这一切都取决于你对编程语言或特定性能需求的偏好。Web 开发中的一个持续趋势是远离后端的业务逻辑,并将该层转换为由前端和移动应用程序使用的 API。但一个全栈框架通常是能更简单、更快速地用于开发,并且是许多 Web Apps 的有效选择。
Node.js
Node.js 是在浏览器外运行 JS 的主要方式。Node 具有快速构建 API、服务器、桌面应用程序甚至机器人的框架,以及创建可以想象到的各种模块的庞大社区。一些你可能想研究的框架:Express, Koa, Next, Nodal。
PHP
PHP 首先是一门 Web 语言,并且有大量的 Web 框架可供选择。由于其出色的文档和功能,Laravel 构造了一个积极的社区。
Ruby
对于 Ruby,Rails 框架是首选。为 Web Sockets,API 模式等提供支持。Sinatra 也是小应用程序的不错选择
Python
Python 有以 Django 和 Flask 的形式组合的全栈/最小框架。
Java
Java 生态系统还有流行的 Web 框架可供选择。Play 和 Spark 是两个坚定的选择,作为奖励,它们可以与 Scala 一起使用。