写点什么

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:565470

评论

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

企业如何才能发挥出知识管理真正的价值

小炮

知识管理 企业知识管理

10月阿里面试总结:必问的Spring面试解析,面试时要注意的那些坑

爱好编程进阶

Java 面试 后端开发

TASKCTL 作业流程与模块之间的区别

敏捷调度TASKCTL

Docker kettle 批量任务 调度引擎 ETL任务

入驻快讯|欢迎小红书技术团队正式入驻 InfoQ 写作社区!

InfoQ写作社区官方

入驻快讯

4月28日,一场为IT工程师们准备的盛宴

观测云

云原生 可观测性 IT 直播 产品发布会

建信金科在中国建设银行物联网平台项目的实践

EMQ映云科技

物联网 IoT 金融 银行 emq

Docker 实战教程之从入门到提高 (六)

汪子熙

Docker 容器 docker image 容器镜像 4月月更

2020大厂秋招面试末班车,阿里架构师献给java程序员的面试全攻略

爱好编程进阶

Java 面试 后端开发

网易互娱基于 Flink 的支付环境全关联分析实践

Apache Flink

大数据 flink 编程 流计算 实时计算

28岁自学java,包装简历3年拿到15k薪资,分享我的学习经历

爱好编程进阶

Java 面试 后端开发

2021春招涨薪跳槽技术必备:分布式宝典“限流

爱好编程进阶

Java 面试 后端开发

5 月亚马逊云科技培训与认证课程,精彩不容错过!

亚马逊云科技 (Amazon Web Services)

架构师 培训 认证

加速OpenHarmony生态繁荣,华为使能OpenHarmony发行版厂商

科技汇

CVPR2022 前沿研究成果解读:基于生成对抗网络的深度感知人脸重演算法

阿里云CloudImagine

阿里云 计算机视觉 音视频 视频云 人脸算法

测试的最终产物是什么

chenkl

测试 思维 测试原则

网站速度优化的三套解决方案!

源字节1号

微信小程序 前端开发 后端开发 SEO优化

探究Presto SQL引擎(2)-浅析Join

vivo互联网技术

数据库 算法 presto

「架构实战营」模块八 消息队列存储设计

hxb

「架构实战营」

Linux驱动开发-内核共享工作队列

DS小龙哥

4月月更

谈谈客户体验管理有效实施

龙国富

客户体验 CEM CXM 客户体验管理

攻克编译器技术

刘旭东

编程语言 编译器原理 4月月更

云图说丨云数据库 RDS for MySQL一键开通读写分离,轻松应对业务高峰期

华为云开发者联盟

MySQL 华为云 读写分离 云数据库 rds for mysql

OpenHarmony 3.1 Beta样例:使用分布式菜单创建点餐神器

OpenHarmony开发者

OpenHarmony OpenHarmony应用开发 点餐

设计消息队列存储消息数据的MySQL 表格

Geek_8d5fe5

「架构实战营」

2021最新「阿里」Java高级工程师面试高频题

爱好编程进阶

Java 面试 后端开发

亚马逊云科技 2022 年 3 月新服务新功能强势来袭

亚马逊云科技 (Amazon Web Services)

服务 亚马逊

java培训Mybatis动态Sql处理解析

@零度

sql mybatis JAVA开发

从玄学走向科学:在字节跳动广告投放这么干

字节跳动数据平台

大数据 字节跳动 广告系统 ab测试

web前端培训React基础知识点的梳理

@零度

前端开发 React

大数据培训Flink 常见的维表 Join 方案

@零度

大数据 flink join

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