iOS开发:从新手到专家的一些建议

2024-08-27 05:58
文章标签 开发 新手 ios 建议 专家

本文主要是介绍iOS开发:从新手到专家的一些建议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虽然你有可能在一周内学习到iOS开发的本质,但想要精通iOS开发需则要花费更长的时间。问题是你如何从新手变成专家?在这篇文章中,我们主要就这个主题给出一些建议(如果你有好的建议和相关文章欢迎分享给更多开发者):

1.练习,练习还是练习
iOS开发没有捷径可走。这是我在继续这个话题之前需要强调的东西,因为摆脱任何常常浮现于你脑海的幻想很重要。如果你仅仅在星期天的4PM和5PM之间学习/练习编程,那么你不会成为一个熟练的iOS开发者。不要误会我的意思,这么做可能会很有趣,但是它很难让你成为一个老练的专业的iOS开发者。除了极少数的人,大部分人都需要不断的练习和实践。如果你还没有准备好投入大量时间,这时候最好重新审视你的目标和理想。

2.向其他人学习
提升开发技能和采用最佳实践的最好策略之一是学习别人的代码。这不仅仅意味着浏览Stack Overflow,但更重要的是其他开发者的各种开源类库和代码片段。

不管何时你一头扎进各种类库的学习,比如AFNetworking或者Magical Record,很关键的一点是不要被各种代码淹没。有可能你不理解各种库中的代码,但这不是真正的关键,重点是从一个更高的层次来看源码和尽可能多地学习,比如命名规范、最佳实践以及设计模式等。

除了学习别人的代码外,创建你自己的类库是一个最好的学习方法。不久前,我用Core Data作为数据层开发了一款app,我没有使用Magical Record,我决定通过学习Magical Record创建自己的库,并重新创建了我需要的功能。这种方法不仅帮我创建了一个更加灵活的库,也让我学习到很多Magical Record内部的工作原理。

3. 不要仅仅复制和粘贴
这一点让我看到了正确学习方式的另一个关键面:不要不动脑子简单地复制和粘贴。我们常常会使用我们在Stack Overflow或者苹果开发者论坛找到的各种代码片段,但是不要为了偷懒简单地复制粘贴你从网络上找到的代码,这样你很难彻底理解它。最大的危险在于这可能会导致意外的行为,以致于你的代码以后都很难调试和修复。

有时候,复制别人的代码片段看着可能已经解决了你遇到的问题,但是我强烈建议不要这么做。阅读代码,理解你往代码库添加的东西,可能的话定制你需要的解决方案。不用说,这并不适用于开发者积极维护的库或框架。在项目中使用Magical Record前,如果你需要仔细检查它,那么我确信你已经理解了不同之处。使用你自己的常识。

4. 模式
Cocoa和Objective-C在很多方面都不同于其他编程语言和环境。这意味着他们有自己独特的模式和最佳实践。我确信你已经熟悉了一些常见的模式,比如委托和通知。但还有很多模式可以开发过程中帮助你,比如单例模式、观察者模式以及通用模式等。Cocoa Fundamentals Guide很好地概述了Cocoa中大部分常用模式。

5.了解你的工具
作为一个开发者并不仅仅是理解语言和框架,理解你每天使用的工具同样重要。对于iOS开发来说,这意味着你需要很好地理解Xcode和其他可能用到的工具,比如PonyDebugger和Charles。如果你想学习一些额外的技巧,你可能会对我此前的一篇文章(iOS Quick Tip: 7 Tips to Speed Up Your Development)感兴趣。

6.与时俱进
即使你不能参加苹果一年一度的开发者大会–WWDC,但浏览大量的会议视频是个很好的学习方法,你可以观看你感兴趣的专题视频,它们都是由在某方面擅长的工程师演讲,他们可以告诉你一些细节信息以及相关使用说明。另外,你还可以多关注优秀的开发者,他们会定期写一些技术文章,比如比如Matt Gemmell、 Aaron Hillegass以及Mike Ash,你可以在我为Mobiletuts+写的这篇“Where To Go Next”文章中找到更多学习资源。

7.学习其他语言
我已经注意到学习新语言或者使用新框架让我对软件开发的整体理解有了明显提高。这种方法的优点在于不会限制你对最熟悉语言的认知和它潜在可能性的理解。我最近在研究Ember.js,并了解到它的创建者 Yehuda Katz和Tom Dale是从Cocoa获得的灵感。Ember.js对mvc的实现并没有遵循JavaScript framework,不过如果你熟悉cocoa的话,就不会感觉到奇怪了。

对于软件开发来说,没有最好的语言,每种语言都有自己的优势和劣势。但是好的一面在于或多或少他们都有所不同,这使得学习新语言变得更加有趣和更有启发性。比如对我来说,Ruby在写DRY (Don’t Repeat Yourself)、易读的、干净的代码方面让我大开眼界。

总结
如果你不想花费时间成为一个更好的程序员,那么你可能要重新考虑下为什么你把成为一个程序员摆在首位。但如果你会因为一个可以帮你的新类库或者开发工具而兴奋,那么随着时间的流逝,你在提高自身技能方面可能不会有什么问题。你真的必须热爱你所做的事情,并在这面擅长,这一点尤其适用于编程。不管什么人告诉你,你不会在一夜之间成为一个老练的开发者,但如果你保持不间断的学习,并细心打磨自己的“手艺”,我想你的技术会有很好的提高。

via:cocoachina

这篇关于iOS开发:从新手到专家的一些建议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1110829

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark