background preloader

Beginner’s Guide to iOS Development: The Interface – Part I

Beginner’s Guide to iOS Development: The Interface – Part I
Apple has been a leading industry in the mobile world for years with its iPhone and iPad series. Despite the hype it can create with every official release like iOS 5, it’s also holding a large portion of market shares in the mobile platform, and this is probably the reason that most clients will want their app to exist in the Apple’s app store, thus becoming the reason for developers to learn and build the iPhone app. (Image Source: Apple Developer) The good news is, iPhone application development is not as hard as you might think, and this post exists as a comprehensive guide to walk you through the complete process of building an application for iPhone. So whether you’re learning for business or you just have an amazing app idea that might make you a millionaire, let’s get started on building your first iPhone app! Why Develop for Apple? I see this question asked frequently so I want to explain why you should be interested in iPhone development. Planning your iPhone App Structure Reeder

Comparison of the Available iOS Charting Libraries In this post, I explore four of the available iOS charting libraries and investigate the features, API, and pros and cons of each. In order to conduct a fair investigation, I have developed a comparison framework which loads historic stock market data from the Yahoo Finance API. My findings were that Core Plot had a strong set of documentation, yet was a little light on features and built in functionality. The Framework The framework can be easily extended to display the data fetched in different view controllers that can be set up to use various charting libraries. Framework Library / API Usage Rather than generating random data or using the same hard-coded data every time the comparison was run, stock market data is fetched from the Yahoo Finance API in CSV format . Framework Structure The framework is based around a Data Transfer Object (DTO) named StockPriceDataContainer. The Data Manager has two operations which fetch data to display in the framework. The Libraries Core Plot iOS:Chart

Beginner’s Guide to iOS Development: Building Your First App – Part II In the first part of our iOS tutorial I took you through a guided tour of the iPhone app development. We got a deeper look at Xcode 4, and also took a very short tutorial on building iPhone app. The beginner tutorial was written for anyone who is looking to get into programming iOS apps. Today, we’ll get into the second segment of the topic, where we will be building a fully-functioning iPhone application. At the end of the tutorial you will get an application which can’t be pushed into the iPhone since it will need you to purchase developer program, but we can run it inside the iOS Simulator on a Mac OS X system. Note: You will need a computer with Macintosh Operating System (Mac OS) for Xcode installation, application development and app submission, there’s no way you can do it on Windows legally. Pre-Setup: Installing Xcode Packages If you haven’t done so already you will need to get Xcode 4 on your computer. 1. Hit “Next” and you’ve got to enter a name for your project. 2. 3. 4. 5.

Programming with Objective-C: Encapsulating Data In addition to the messaging behavior covered in the previous chapter, an object also encapsulates data through its properties. This chapter describes the Objective-C syntax used to declare properties for an object and explains how those properties are implemented by default through synthesis of accessor methods and instance variables. If a property is backed by an instance variable, that variable must be set correctly in any initialization methods. If an object needs to maintain a link to another object through a property, it’s important to consider the nature of the relationship between the two objects. Although memory management for Objective-C objects is mostly handled for you through Automatic Reference Counting (ARC), it’s important to know how to avoid problems like strong reference cycles, which lead to memory leaks. Properties Encapsulate an Object’s Values Most objects need to keep track of information in order to perform their tasks. Declare Public Properties for Exposed Data

You’ll never believe how LinkedIn built its new iPad app (exclusive) Guess how much of LinkedIn’s new iPad app is actually mobile web and not native. Go ahead — guess. We’ve had a lot of fun asking people to guess this over the past couple days. They’ll start with 40 percent and edge up to 70 percent, but no one comes close to the real figure: 95 percent. Yes, only one screen in the entire LinkedIn iPad app is actually native. We were shocked to hear this 95-percent figure from Kiran Prasad, who heads up LinkedIn’s mobile development team. But the new iPad app had struck us as so surprisingly sexy during our initial review that we had to know more about how Prasad and his team of four (yep, just four devs built this app) packed so much punch into a web app for a tablet. Especially as Silicon Valley tech companies pick sides in the web-versus-native war, it’s fascinating to see the presumably conservative LinkedIn lean toward the more progressive side of mobile technology. LinkedIn and the mobile web [vb_gallery id=421649] Now, with more Node.js

ios - What kind of leaks does automatic reference counting in Objective-C not prevent or minimize How it Works Everything in one Place Selecting the right API for your business can be challenging. We allow you to explore groups of APIs so you can pick, choose, and compare APIs in one place. One Credential We provide you with a credential to access all the APIs consumed in your applications, enabling you to utilize multiple APIs faster than ever before. Connect with Developers Our marketplace features a built-in messaging and robust trouble-ticketing system to facilitate communication between developers, resulting in a vibrant API Marketplace. Try Before you Code Understanding how a particular API works can be time-consuming. Track APIs usage A picture paints a thousand words. Multiple Client Libraries We like you the way you are, which is why we provide a client library that suits your needs. Instant Distribution Once you’ve published your public API it becomes available to thousands of active developers. Fast API Doc Editor Community Generated Issues Easily Monetize APIs API Status and Notification

Why mobile web apps are slow I’ve had an unusual number of interesting conversations spin out of my previous article documenting that mobile web apps are slow. This has sparked some discussion, both online and IRL. But sadly, the discussion has not been as… fact-based as I would like. So what I’m going to do in this post is try to bring some actual evidence to bear on the problem, instead of just doing the shouting match thing. You’ll see benchmarks, you’ll hear from experts, you’ll even read honest-to-God journal papers on point. Now I am going to warn you–this is a very freaking long article, weighing in at very nearly 10k words. I write in part because this topic has been discussed–endlessly–in soundbyte form. A quick review My previous blog post documented, based on SunSpider benchmarks, that the state of the world, today, is that mobile web apps are slow. Now, if what you mean by “web app” is “website with a button or two”, you can tell all the fancypants benchmarks like SunSpider to take a hike. Why?

How to write your first BlackBerry application – Lesson 1: UI fields This article is the first in a series of articles about BlackBerry development. With App World, third party software vendors and the web, there are a ton of opportunities for an independent developer to make money. BlackBerry Development in Java – Lection 1: Basic fields in the User Interface Let’s get right into it. Download the JDE (Java Development Environment) from the BlackBerry website. For advanced features and other APIs you may want to use, you need code-signing keys from RIM. For this introductory application, you don’t need signature keys and the compiled *.cod file can be run on the device (and not only on the simulator). After installation of the JDE, launch it and then click on: 1. Then on the left side in the JDE, you see the Tab Files. 1. That’s how the ‘Files’ should look like on the left side of the screen: The *.java Files: We have two *.java files for our Project. A BlackBerry application always starts with the main() method.

iOS 7: Hidden Gems and Workarounds - iOS 7 - objc.io issue #5 When iOS 7 was first announced, Apple developers all over the world tried to compile their apps, and spent the next few months fixing whatever was broken, or even rebuilding the app from scratch. As a result, there wasn’t much time to take a closer look at what’s new in iOS 7. Apart from the obvious great small tweaks like NSArray’s firstObject, which has been retroactively made public all the way back to iOS 4, there are a lot more hidden gems waiting to be discovered. Smooth Fade Animations I’m not talking about the new spring animation APIs or UIDynamics, but something more subtle. An interesting detail is that _UIBackdropView (which is used as the background view inside UIToolbar or UIPopoverView) can’t animate its blur if allowsGroupOpacity is enabled, so you might want to temporarily disable this when you do an alpha transform. The edge antialiasing property can be useful if you want to replicate the animation that Safari does when showing all tabs. Blocking Animations to: Pagination

tech blog » Blog Archive » zxcvbn: realistic password strength estimation Over the last few months, I’ve seen a password strength meter on almost every signup form I’ve encountered. Password strength meters are on fire. Here’s a question: does a meter actually help people secure their accounts? It’s less important than other areas of web security, a short sample of which include: Preventing online cracking with throttling or CAPTCHAs.Preventing offline cracking by selecting a suitably slow hash function with user-unique salts.Securing said password hashes. With that disclaimer — yes. These are only the really easy-to-guess passwords. Strength is best measured as entropy, in bits: it’s the number of times a space of possible passwords can be cut in half. This brute-force analysis is accurate for people who choose random sequences of letters, numbers and symbols. As a result, simplistic strength estimation gives bad advice. The table below compares zxcvbn to other meters. A few notes: I took these screenshots on April 3rd, 2012. Installation The model Data Conclusion

Technical Q&A QA1747: Debugging Deployed iOS Apps Technical Q&A QA1747 Q: How can I debug a deployed app without Xcode's debugger? A: Once you have deployed your app, either through the App Store or as an Ad Hoc or Enterprise build, you won't be able to attach Xcode's debugger to it. To debug problems you'll need analyze Crash Logs and Console output from the device. For more information on writing rich NSLog statements, see Improved logging in Objective-C. Getting Crash Logs and Console Output Getting Crash Logs and Console Output With Xcode Even though you won't be able to run the app in Xcode's debugger, Xcode can still give you all the information you need to debug the problem. 1) Plug in the device and open Xcode 2) Open the Organizer window and select the Devices tab 3) Under the DEVICES section in the left column, expand the listing for the device 4) Select Device Logs to see crash logs or select Console to see Console output Getting Console Output Without Xcode 1) Plug in the device and open iPhone Configuration Utility

The Pitfalls of Open Sourcing Your Startup Free and Open Source Software (FOSS) refers to software whose source code is freely available for modification and redistribution. Typically open source projects tend to have strong communities of programmers, developers and most importantly, uses backing them, and it is this community support which ultimately drives these initiatives to succeed. Open Source Software can be found virtually everywhere, from programming languages like Python, the Mozilla suite of applications, the Git version control system and the largest collaborative project in computer history, the Linux kernel. On the surface, releasing the source code of your startup’s application/service to the general public might seem like a good way to advance one’s startup for a very low price, but in reality there exist a few pitfalls. Moreover, since the code is open source, it is visible to all, which presents a potential threat that a competitor may use it to their advantage. What are your thoughts?

Text Kit Tutorial Note from Ray: This is an abbreviated version of a chapter from iOS 7 by Tutorials that we are releasing as part of the iOS 7 Feast. We hope you enjoy! The way that text is rendered in iOS has changed a lot over the years as more powerful features and capabilities have been added. This latest iOS release brings with it some of the most significant text rendering changes yet. In the old days before iOS 6, web views were usually the easiest way to render text with mixed styling, such as bold, italics, or even colors. Last year, iOS 6 added attributed string support to a number of UIKit controls. In iOS 6, text-based UIKit controls in iOS 6 were based on both WebKit and Core Graphics’ string drawing functions, as illustrated in the hierarchical diagram below: Note: Does anything strike you as odd in this diagram? Attributed strings in iOS 6 were indeed helpful for many use cases. However, this year in iOS 7 there’s an easier way. Ready to create something of note? Getting started Dynamic type

Related: