在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

iPhone 的开发环境优于 Android 吗?

  • 2010-11-23
  • 本文字数:1383 字

    阅读完需:约 5 分钟

随着移动应用的日益普及,很多人开始尝试比较不同开发环境下的开发体验。大约一年前, David Green 发表了一篇针对 Android 和 iPhone 开发环境的比较文章,而 John Blanco 在上周也针对二者进行了比较分析。Dave 和 John 都同意:

使用 Java 好于 Objective-C。私有方法、内部类、匿名类、泛型、更好的功能语法和广泛的第三方代码仅仅体现了 Java 优势的一小部分,这已经不是竞争了。

John 和 Dave 在 Xcode 与 Eclipse 的比较上,意见就没那么一致了:

[John] 我曾经喜欢过 Eclipse。我能掌握一个 IDE 并在工作中获益。从我不得不使用 Eclipse 以来已经一年多了 […] 收获的是可怕的使用体验…我不知道是怎么发生的。Eclipse 臃肿,速度慢,改变编辑器上下文环境(XML vs. Java vs. Android Manifest 等)这样的简单行为都会让人心烦意乱,这些动作居然需要几秒钟的时间。[…] 它使得做 Android 开发变成了“悲惨”的经历。与 XCode 相比,XCode 能为你带来快乐的工作。它优雅、快如闪电,在写代码时我从未看见 XCode 发生迟缓的现象。我对 XCode 给与肯定。Xcode 占有压倒性优势。

Dave 认为 Eclipse 的增量编译器是其主要优点。对他来说内容辅助做的并不好,而 XCode 则打开了太多窗口:

XCode 是如此糟糕,我甚至不知道从哪开始。我觉的 XCode 要想成为可行的 IDE,至少应该完善我提到的最小列表中的特征。

不过 Dave 喜欢 iPhone 的 Interface Builder。

从模拟器的角度来看,John 觉得 iPhone 的模拟器在真正模拟 GPS 或加速器方面还有一些欠缺。不过 iPhone 模拟器的准确性给他留下了深刻影响:

我很少见到在设备上出的问题在模拟器不出现的情况。iPhone 模拟器运行很快,我随时可以关闭它,可以很容易进行复位,改变语言等。相反,Android 的模拟器是我见过最烂的模拟器。比黑莓的还烂──这说明了一些问题。有时我在模拟器上运行一个程序,无论如何都不能运行,我不得不重新启动。另外它还慢的要命。有一次我想显示某个功能居然用了 8 秒钟。这正好和我提到的 Eclipse 问题相关,之所以指出这些问题,是因为我在 iPhone 开发环境中没有遇到任何以上问题。我碰到的每个 Android 开发者都说,他们几乎不怎么用模拟器,而是直接在设备上运行程序。

Dave 看到的是 Java 开发环境十年不懈改进的能力,包括全功能调试器、使用 JUnit 的能力和内存配置工具。

20 年前的秋天,我写下了第一行 Objective-C 程序。我记得那真是个神奇的经历,以至于我不能长时间离开宾夕法尼亚州立大学的计算机实验室。对于很多人来说很难想象,在那样一个遥远的过去(NeXTStep),XCode 会和今天一样犀利。Interface Builder 作为NeXTStep 的基础功能,是 Jean-Marie Hullot 的智慧结晶,他从 1985 年就开始做这方面的工作,NeXTStep 引导 Tim Berners-Lee 在 CERN 建立了 Web 的基础。与他一起的还有 Jack Greenfield ,他开发了第一个ORM 工具,为模型驱动引擎建立了坚实的基础。有了这样一个创新的历史,也就难怪XCode 依然可以运行在2010 年了。但是它现在仍然与时俱进吗?还在领先么?能持续改进吗?与其他语言相比,Objective-C 还是一门足够先进的语言吗?或者,XCode 已经落后了,会因为更先进的、模型驱动工具的出现而不再流行?我们甚至可以问MVC 是未来吗?或者,Android 的概念和方法更优越?

对此你有什么考虑?

查看英文原文: is the iPhone Development Environment Superior to Android’s?

2010-11-23 08:565479

评论

发布
暂无评论
发现更多内容

解Bug之路-ZooKeeper集群拒绝服务

无毁的湖光

Java zookeeper dubbo

区块链技术用在影视行业,能保证编剧们不再被抄袭被欠薪吗?

CECBC

[译] R8 优化:类常量操作

Antway

6月日更

问题定位 | XtraBackup 8.0 数据重建避坑事件始末

RadonDB

MySQL Xenon XtraBackup

云原生消息队列RocketMQ:为什么我们选择 RocketMQ

阿里巴巴云原生

索信达控股首席科学家张磊:人工智能在银行业的应用

索信达控股

大数据 金融科技 银行 银行数字化转型

GitHub 近两万 Star,无需编码,可一键生成前后端代码,这个开源项目有点强!

程序员生活志

数仓分层架构如何设计?

奔向架构师

数据库 数据仓库 数据架构

搭建工具提升DDD开发效率

中原银行

领域驱动设计 DDD 中原银行

2021年5月券商App行情刷新及交易体验评测报告

博睿数据

博睿数据 券商App 性能评测

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之文件上传(十)

crudapi

Vue crudapi quasar SPA 文件上传

对于后端服务器,框架是怎样的?处理事务的逻辑是怎样的?你了解多少?

奔着腾讯去

c++ io 服务器 信号机制 事件

Java高级架构师最新一千道大厂面试真题文字+视频+脑图解析

Java架构追梦

Flink Job 概览

Alex🐒

flink 翻译 flink1.13

喜讯 | 拍乐云荣膺「全球云计算大会“云鼎奖”」,先进技术受业界肯定

拍乐云Pano

5月新品速递:EdgeBoard车型识别软硬一体方案,轻松实现智慧车辆管理

百度大脑

5月盘点 上新

AI未来 - 李开复 - 未来8成的工作受影响 - 读后感-John 易筋 ARTS 打卡 Week 52

John(易筋)

ARTS 打卡计划

HTAP | MySQL 到 ClickHouse 的高速公路

RadonDB

MySQL Clickhouse Xenon

高可用 | Xenon:后 MHA 时代的选择

RadonDB

MySQL 高可用 Xenon

央行约谈!支付宝发布公告:打击虚拟货币交易!

CECBC

低碳数字城市和区块链:城市-社区-家庭

CECBC

和12岁小同志搞创客开发:两个控制器之间如何实现通信?

不脱发的程序猿

DIY 单片机 创客 Arduino

从零开始学习3D可视化之拾取

ThingJS数字孪生引擎

大前端 可视化 3D 3D可视化 数字孪生

来自小姐姐的灵魂拷问:位运算是什么?

前端森林

计算机网络 位运算 React 二进制

通俗易懂的redis发布订阅原理实现!

李阿柯

面试 消息队列 redis cluster

「网络安全入门」什么是网络安全

网络安全学海

深度 | 字节跳动微服务架构体系演进

字节跳动 微服务 云原生 Service Mesh 服务网格 火山引擎

架构实战营 模块六:学习总结

👈

架构实战营

通用时区:你应该知道的数据库时区知识

华为云开发者联盟

数据库 时区 GaussDB(DWS) 通用时区 夏令时

缓存的世界 Redis(三)

卢卡多多

redis 6月日更

大数据分析与运营(三)

soho

iPhone的开发环境优于Android吗?_移动_Jean-Jacques Dubray_InfoQ精选文章