[翻译] 学习iOS开发的建议:如何从菜鸟到专家

  • 时间:
  • 浏览:1

肯能你我应该 花费时间用在刀刃上一天到晚就知道dota.DNF.英雄联盟啊,你就得重新想想你能成为牛逼的开发者么?肯能,有一2个新的库肯能工具能能帮助你开发,你还乐于去使用它学习它,提升能力就指日可待.你真的都要喜欢上被委托人要做的事情,只能好多好多 你能能真正的提高被委托人.不管别人为何告诉你,你完整版都是肯能靠有一2个晚上就变成老手,或者 ,我知道,或者我你能能坚持下去,你的能力一定能能得到提升!

有一2个提高你能力的最好的策略以及最有深层做练习的法律土辦法 好多好多 去学习别人的代码.这里不仅仅是说你去 Stack Overflow (栈溢出网站好多好多 相当不错的网站哦)网站上去取经就够了,去学习少数大神的开源库以及它们的一点代码片段也是非常重要的.

If you’d like to learn a few extra tricks, you may be interested in a previous quick tip that I wrote about this topic.

If you don’t want to put in the hours to become a better programmer, then you may want to reconsider why you wanted to become a programmer in the first place. However, if you get excited about a new library or tool that can help you in your development, then you probably won’t have a problem improving your skills over time. You really have to love what you do to become good at it and I think this is especially true for programming. No matter what people tell you, you won’t become an expert developer overnight, but I promise you that your skills will improve if you keep learning and beating on your craft.

一点巨牛逼的开发者,总是会写写关于或者 你们歌词 你们歌词 牛叉的工作的,如Matt Gemmel.Aaron Hillegass 和 Mike Ash,最近我肯能把那份完整版的变态人物列表分享在了Mobiletuts+网站上,来捧捧场吧.

One of the best strategies to improve your skills and to adopt best practices is to learn from other people’s code. This not only means browsingStack Overflow, but also, and more importantly, libraries or code snippets that are open sourced by fellow developers.

There are many excellent developers that regularly write about their craft, such as Matt Gemmell, Aaron Hillegass, and Mike Ash. You can find a more extensive list in a previous post I’ve written for Mobiletuts+.

Whenever you dive into a library, such as AFNetworking or Magical Record, it is key to not be overwhelmed by the code you read. Chances are that you don’t understand every line of code in these libraries, but that’s not really the point. The point is to look at the source code from a higher level and learn as much as possible, such as naming conventions, best practices, design patterns, etc.

I recently dipped my toes in Ember.js and learned that the creators, Yehuda Katz and Tom Dale took inspiration from Cocoa. The implementation of the MVC (Model-View-Controller) pattern of Ember.js is a bit unconventional for a JavaScript framework, but it is not that surprising if you are familiar with Cocoa.

Even though it’s possible to learn the essentials of iOS Development in a weekend, it will take much longer to master the craft. The question then is how do you transition from a novice to an expert? In this quick tip, I will provide you with a breadcrumb trail that may help you on your way to becoming a great iOS developer.

最近我染指了Ember.js,他的创建者 Yehuda Katz 和 Tom Dale 好多好多 从Cocoa开发中得到的灵感哟.一种MVC设计的实现对于JaveScript 框架来说好多好多 很奇葩的(非传统的),或者 呢,肯能你熟悉Cocoa,那也没啥了不起的.

编写软件可没人有哪些最好的语言,次要语言完整版都是其擅长的方面.好语言呢,好多好多 那种它们只能一点点不同,然而好多好多 这点点不同,让它学起来超级带感以及开阔视野.这类于,Ruby,在编写DRY(别重复你被委托人),可读性和清新的代码方面令我大开眼界.

Even if you can’t attend Apple’s yearly developer conference, WWDC, it is a good idea to browse the numerous session videos and watch the ones that spark your interest. The presentations are usually given by the engineers that work on the technologies covered in the session, which gives you detailed information and instructions about how to use them. It is also a great way to quickly get up to speed with those technologies.

Cocoa 和 Objective-C 在一点地方,与一点的编程语言有着很大的差异哦,这愿因,它们完整版都是着它们被委托人的一种模式和一种最适合被委托人的编程法律土辦法 或者 你们歌词 你们歌词 相信,你肯能对一点常用的设计模式如代理和通知模式有所了解.然而,还有着一点的一点(设计)模式能能帮助你开发,诸如单例.观察者.和指挥者模式.这本书 Cocoa Fundamentals Guide 能或者 你有一2个较为全面的关于Cocoa中使用到的一点设计模式的指导.

It goes without saying that this doesn’t apply to libraries or frameworks that are actively maintained. If you had to go through Magical Record before you’d be able to use it in your project… I’m sure you understand the difference. Use your common sense.

This brings me to another key aspect of learning the right way: don’t mindlessly copy and paste code. We all use code snippets that we find on places like Stack Overflow or Apple’s Developer Forums, but it’s important to not mindlessly copy and paste the code that you find on the web. By copying code that you find, you don’t learn a thing. The greater danger is that you don’t know what you’ve just added to your code base. This might result in unexpected behavior and it will make it very difficult to debug your code later.

I have noticed that my overall understanding of software development has improved significantly by learning new languages or working with new frameworks. The advantage of this approach is that you don’t limit your view of what is possible to the language that you are most familiar with.

这可完整版都是说叫你一蹶不振 有有哪些正在更新和维护的(第一方提供的)库和框架.[一段话翻译不了了,英语水平菜,理不清语法特征了-_-!!!]..或者 你们歌词 你们歌词 都要选则,你肯能体验到不同点,平时为何整的就为何整吧.

我注意到了哦,我对于软件开发的综合能力,随着我去学习新的语言和使用新的框架而得到了显著的提升.也没想的没人容易,关键完整版都是你只能能限制了被委托人的视野,无须把被委托人限定死在一种你最熟悉的开发语言中.

人太好,在有一2个惬意的周末学习IOS开发是可行的,或者 呢,想完整版熟练的掌握它可最少n长时间.有哪些的问题图片是,你何如能能能从有一2个菜鸟变成老鸟?在以下简短的描述中,我会或者 你来点建议,帮助你尽快上路,成为IOS开发者的高手.

It may be tempting from time to time to quickly use a code snippet that seemingly solves the problem that you are working on, but I strongly urge against this practice. Read the code, understand what you are adding into the code base, and, possibly, customize the solution to your needs.

[文章原地址]

In addition to learning from other people’s code, it is a good learning experience to create your own libraries. Some time ago, I was developing an application that uses Core Data as the data layer. Instead of using Magical Record, I decided to create my own library by exploring Magical Record and recreating the pieces of functionality that I needed. Not only did this result in a lean, agile library, it also taught me a lot about the inner workings of Magical Record.

翻译有误之处请勿见笑,被委托人将在文章的次要地方再加注释,并根据需求增减文章内容,在此对原作者辛勤劳作表示感谢 

Becoming a great developer isn’t only about understanding the language and the frameworks. It is just as much about working efficiently with the tools that you use day in and day out. For iOS development, this means Xcode and possibly other tools, such as PonyDebugger andCharles.

一次又一次的快速的无脑的使用了别人的代码片段且貌似处里了你当前的有哪些的问题图片,这是没人的吸引人啊.但我强烈的反对一种法律土辦法 ,研究有有哪些代码吧,最少你得知道把有哪些东西再加了你的工程中,最好的好多好多 修改别人的代码以及定制出你被委托人都要的处里法律土辦法 .

There is no “best” language to write software in as they all have their pros and cons. The nice thing, however, is that they are all a little (or a lot) different and it’s those differences that makes learning new languages interesting and eye opening. Ruby, for example, was a real eye opener for me in terms of writing DRY (Don’t Repeat Yourself), readable, and clean code.

你只能参加苹果手机每年一度的开发者大会?别急,那就去看多量的会议视频吧,那也是能能拓宽你的视野的.你能得到好多好多 的益处,有有哪些完整版都是各种领域内牛逼的工程师所免费赠送的^_^,你能从上端得到好多好多 的最新的信息,以及帮助你为何去用或者 你们歌词 你们歌词 .这好多好多 一种或者 你赶上日新月异的科技的一种技巧哦.

没人捷径啊少年!继续讲下去已经 我得提前说一下,肯能,摒除任何能能速成的想法而去面对残酷的现实是相当重要的.肯能你仅仅想在星期天下午的4点到5点之间来搞一下,你是不肯能成为有一2个高手的...仅仅是肯能只能出去玩肯能是看不了<生活大爆炸>了.别耍我了,你说歌词 你人太好你肯能花了有一2个小时的时间来做了,或者 呢,那绝不不或者 你接近你想成为高手目标的一步.抛开一点例外,大次要人都都要练习.练习再练习,肯能你我应该 花时间去做,那你就别想成为高手而继续当苦逼码农.花费时间以及精力去做你喜欢做得一点事情是成为高手的必经之路.

Bart Jacobs on Jul 29th 2013 with 5 comments

了解了语言特征以及各种框架就能成为高手吗?想得美呢.你还得每天琢磨着为何超高效的运用各种工具.对于开发IOS来说,这愿因要用好Xcode,还有一点的一点工具,比如PonyDebugger和Charles.

Cocoa and Objective-C are in many ways very different from other programming languages and environments. This means that they have their own patterns and best practices. I’m sure that you’re already familiar with a few common patterns, such as delegation and notifications. However, there are many more patterns that can help you during your development, such as the singleton, observer, and command patterns. The Cocoa Fundamentals Guide gives you a nice overview of the most common patterns in Cocoa.

你我应该 学一点额外的编程技巧吗?好多好多 一段话,你说歌词 ,或者 你对我已经 写过的一点快速提示感点兴趣.

一旦你深入到了有一2个库,这类于 AFNetworking 肯能 Magical Record,无须被有有哪些晦涩难懂的巨量的代码所吓尿了,你不肯能懂得有有哪些库上端的每一行代码每一处私密的地方,或者 呢,那完整版都是学习的要点所在哦,真正都要学到的是,从有一2个更高的深层来尽肯能的学习它们,这类于一点常用的使用法律土辦法 ,设计优秀的地方,设计模式等等诸没人类.

There are no shortcuts. This is something that I’d like to emphasize before continuing, because it is important to get rid of any illusions that might be stuck in your head. You don’t become a skilled developer if you only program on Sunday afternoons between 4PM and 5PM…if the sun isn’t shining and there’s nothing on television. Don’t get me wrong, it may be fun to do so, but it won’t bring you much closer to your goal of becoming an expert developer. Apart from a few exceptions, most people need practice -and lots of it. If you aren’t prepared to put in the hours, then it’s better to revisit your goals and ambitions. Become great at something you love and the time spent practicing will be its own reward.

除了去学习别人的代码之外,另一种好的学习经验好多好多 创建你被委托人的库.long long ago, 我在开发有一2个应用守护线程时,那个...用到了Core Data作为应用守护线程的data层,而完整版都是用Magical Record,我决定创建我被委托人的库,从Magical Record中寻求灵感以及提取出我被委托人我应该 的功能,最后呢,我不仅创建出了有一2个瘦小的灵活的库,或者 ,我还学习到了Magical Record中好多好多 的核心设计法律土辦法 .

我的另外有一2个好的学习经验是:无须脑残的群克隆和粘贴别人的代码.或许或者 你们歌词 你们歌词 完整版都是从 Stack Overflow 肯能 Apple's Developer Forums 中找到些代码片段来使用,但请无须随意的从网上下载代码或者 无脑的进行群克隆粘贴.你用了你的不经过前额思考过的代码,你啥好多好多 懂,或者 ,有一2个很大的风险是,你根本就不知道到底加了有哪些鬼东西到你的工程中,一种你说歌词 会出现各种奇葩的有哪些的问题图片,或者 ,接下来,你得面对痛苦的debug过程,估计也搞不定的^_^.