Introduction to Xcode 5



If you been using Xcode heavily for a while, you may find this movie a bit of a do over and you're welcome to skip it. But if you're fairly new to Apple Development. Or it's been a while since you last used Xcode, let's take a couple of minutes to go over the basics. We will spend most of our time here. Xcode is our IDE, our Integrated Development Environment. Like Visual Studio, or Eclipse, or Aptana. And being an IDE just means it does more than one thing. We don't just write our code in Xcode, we design our user interfaces here. We compile our applications here.

We use it to test and debug. We use it to browse documentation and find help. But at its core, Xcode is here to organize all the files in our application. And it groups them together into projects, as we've seen. Projects are just a way of collecting a bunch of files together and giving them a name. And when you create a new project in Xcode. Either from the welcome screen, or by saying File > New Project. We get our selection of templates. Now Xcode has a lot of templates. Although in this course, we are almost always interested in the iOS application section.

Once again, I'm just going to create a Single View application. We'll get into the others later. And give this one a simple name. And as I mentioned earlier, I don't use spaces in my product names. So I'll call this one Demo Xcode. It's going to ask me for all this same naming info. But the organization name and company identify, it will keep from the last time. Coming down I'll make sure that the device is set to iPhone. Click Next. And tell it where to save it. I'm just going to save this Demo XCode project to my Desktop.

So the project is now created. But before we go exploring within XCode, I'm going to go and take a quick look at what was created when we did that. So here's the folder that we got, Demo Xcode. If I go into that, and I'm just going to change it so we can view it a little better. We'll see that Xcode gave us quite a few different things here. But what you might see is that some of them match what I see in Xcode itself, and some of them don't. If I expand the folders in Xcode, I can see that I have a main.m. If I look in my finder, I can also see that I have a main.m.

But the folders that I see in Xcode don't exactly match the ones I'll see in the finder. Like, I've got a Supporting Files folder in Xcode that doesn't seem to exist over here in the finder. Don't worry too much about that. Xcode allows us more ways of grouping these files than the actual folders on the drive. However, there is one important one that I'll see in finder. One very useful one, which is this guy. The Demo Xcode.xcode project. Or Xcode project file. This is the file that contains all the settings for this particular project.

And if Xcode was closed, double clicking this will be the quickest way to open up Xcode, with all these project files loaded. Okay, so let's talk about the best way around the Xcode 5 interface. We are of course in a programming environment. So everything is oriented around this editing section in the middle. Whether that's letting us edit code, or letting us edit a user interface. Now the toolbar up at the top as you've no doubt guessed, lets you run the application. We've got the play and stop buttons. This central section here that looks like a small LCD display, will show messages about anything that Xcode is doing as we work with our project.

It's a little like how iTunes displays messages when you're copying or syncing. Over on the top right, you should have two groups of three buttons. Right now, in the first group we've got the first one highlighted. This means we're using what's called the standard editor. There are different ways to edit your code files, and your user interface files. But we'll see these other ones later. Then the second section we have these three separate buttons. Dock left section, a dock bottom section, dock right. All these buttons do is toggle the different areas of Xcode on and off.

Now unlike some other applications, in Xcode you do not and cannot rearrange or detach or drag and drop panes from one area to another. This is an Apple Development Environment. The layout is the layout. So this section on the left stays on the left. You can choose to make it visible or not. But that's the only options that you have with it. And this left hand section over here is called the navigator. The navigator is the way to navigate. To get around everything in and everything about the project. All my files, all my settings, all my different options.

I can expand folders. And by single clicking, I can focus on a single code file. If I wanted to double click that, it would open up in a separate window. Most of the time in this course, I'll just be single clicking the files. Now this left section actually contains eight different navigators. Each with these buttons along the top here. You can move between them by clicking the buttons. At the moment with a simple project like this, there's not much to see apart from in that first section. But you will be able to view things like issues and log messages using these.

Sometimes Xcode will switch you to a different navigator section if useful. But you don't need to memorize them all right now. The most important navigator is the first one, the project navigator. The one that looks like a folder. A useful shortcut for this is Cmd + 1. Even if you have that section closed. Hitting Cmd+1, will open it back up again. This is a view, not just of all the files in your project. And things that you can switch between. But also the project settings itself. Clicking this very top icon here, with the name of the project.

Will let us view the top level settings, and not just work on one single file in the project. And we'll get more into this a little later on. But the same as the left hand side can be turned on and off. So can the right hand side. And this side contains two separate parts. The inspectors at the top, and some libraries in the bottom section. Now the arrangement here is not random. There is a point to the whole overall layout of Xcode. We can think of the navigators on the left as showing, everything about the project. As the central section is showing, the one thing that I'm working on.

And then the inspectors on the right, are context sensitive. Like many IDEs, these change based on the one file that I am working on, or whatever I have selected. So with one of these highlighted, I can see that it actually shifts as I click around to different files in that section. Like the navigators, there are different sections to the inspectors that can be highlighted with these buttons up at the top. But these change a little bit. If I've clicked on a code file, I'll typically see two different sections to it. If I'm editing an iOS user interface, I'll typically see eight different sections to it.

Once again, don't worry too much right now but memorizing these. We will explore all of them as we go. Now the libraries below, in the lower section here, are really the simplest. These really do not change based on what I have selected. They're always the same. Libraries contain different selections. Try that again. Libraries contain collections of things you might want to add to your project. Like a library of user interface elements in the object library. Or a libaray of code snippets. Things here can be dragged and dropped into my project or into my code files.

Now Xcode like most other IDEs has preferences. Things that you can customize about this application, to make it work better for you. I've made two small changes to it, just to make my code easier to read. I've increased the size of the code font. And I've added line numbers to it. If you wanted to add those yourself, you'd just find it in the Preference section. Fonts and colors allows me to select from different themes. I've just selected the Presentation one. The only other option I've changed is in the Text Editing section. I've turned on Line Numbers, so they show up here when I'm talking about certain lines of code during the course.

Now when we're editing text in Xcode. Like most modern IDEs, we will get automatic indentation. We'll get color coding of the different pieces of syntax. Showing the difference between comments here in green. Keywords and classnames and so on. We also get Code Sense, which is Xcodes auto completion feature. If I start typing and I'll start typing say, the letters u i, I'll get this popup appear, I can use the cursor keys to move up and down, and just hit return for anything that I'd like to select. And that helps us a lot because there are a lot of long names for objective c classes and methods in iOS development.

Now notice I already have this exclamation mark appearing in the left hand side here. That's because XCode does try to highlight issues with your code as you're typing it. And it's often quite quick about this. You haven't even finished a line before it starts complaining about it. So you will see that a lot. I don't actually need that line of code, so I'm just going to go ahead and delete it. Now, there is a lot more to Xcode. Options to connect to source control repositories, debugging. Performance tools, code snippets, ways to help you manage your projects. But this should be enough to let us move forward.

View More iOS Tutorials at Lynda.com
Read More >>

Ruby on Rails 3 Essential Training - Free Video Training Tutorials


In Ruby on Rails 3 Essential Training, instructor Kevin Skoglund shows how to create full-featured, object-oriented web applications with the latest version of the popular, open-source Ruby on Rails framework.

This course explains the complete process—from the fundamental concepts and best practices behind the Rails framework, to how to build a complete application with dynamic, database-driven content. Using a content management system as an example project, this tutorial explains how to structure databases, build database-driven, object-oriented models, route incoming requests, render pages with dynamic content, and to process and validate form data. Previous experience with Ruby is recommended, but not required. Topics include:

Using the exercise files
What is Ruby on Rails?
Why use Ruby on Rails?
Understanding MVC architecture
Terminal and Unix setup
RubyGems
Text Editor
Creating a project
File structure of a Rails application
Rendering templates
View templates
Instance variables

Along with the free video training tutorials you will also receive monthly offers, tips, and insider information you won't hear elsewhere—including special discounts extended to newsletter subscribers.

Get your free video now! Read More >>

Job Opening: User Interaction Designer

The User Interaction Designer will work with the Product Management and Design teams to maximize the experience end users have with our applications. Responsible for creating an experience that streamlines processes, are simple to understand, and gets out of the way of users. Several techniques will be employed to ensure smooth interaction between end users and the applications, including but not limited to, conducting usability heuristic reviews, end user interviews, and high and low-touch usability tests, and analytics analysis. We are looking for a relentless end-user advocate who can drive a UX discipline throughout the organization.


Read More >> Read More >>

Job Opening: Tablet App Developer

As a mobile app developer, you'll be joining a small, collaborative team responsible for end-to-end development of our iPad and Android tablet news application, and Evri's long-term vision of customized news delivery.

Evri's tablet team works hard to deliver targeted news that is individualized and matters to you. We're a tight-knit, passionate group that embraces hard work, supports creativity and ownership, and delivers an excellent product time after time. We encourage active involvement in the open source community, and contribute to several projects.

The ideal candidates will bring their energy, unique expertise, and passion for well-crafted, working code that delights the end user.


Read More >> Read More >>

Job Opening: HTML developer "Advanced"

Kinequip is looking for an experienced advanced HTML developer with demonstrated experience in developing applications implementing AJAX.


Experience with developing web pages being hosted by an embedded system is a plus. Experience with developing web pages hosted using Microchip TCPIP Stack and HTTP2 server an additional plus.



Read More >> Read More >>

Create Your Own Angry Birds Game for iPhone and iPad

Have you ever wanted to create your own Angry Birds Game for iPhone or iPad? Now you can.

This starter kit allows you to create a sling-shot game very quickly, and ride the wave of popularity they are enjoying on the appstore right now (you've probably heard of Angry Birds, the best known slingshot game). All you need to do is build some fantastic levels and add your own artistic vision. We've done the hard part, now you get to do the fun part!

Like all our iOS Starter Kits the project files are included with video guides (accessible online or offline) covering every detail of modifying the app for yourself.



Start Building Your Angry Birds Game Today Read More >>

Job Opening: Senior C#.Net Web App Developer - REMOTE

Headquartered in Sydney, Australia with an international development team in Canada, China and Bulgaria, were looking to boost our Southern Hemisphere team.

WORKetc.com is a SaaS developer of CRM and Project Management software tools for the smaller enterprise. Our platform is 100% web based and our customers are typically English speaking and in the marketing, design, consulting, legal and web development industries.

We are looking for a full time, high-end, permanent, C#/.net developer to work remotely.

Read More >> Read More >>

FusionCharts Releases Data-driven Gauges, Dials, Funnels and Widgets in JavaScript (HTML5)

FusionCharts has released FusionWidgets XT, the JavaScript (HTML5) version of FusionWidgets, making it easier for businesses to monitor KPI's and other critical data. Now available in both JavaScript (HTML5) and Flash, it brings a seamless app experience across PCs, Macs, iPads, iPhones and a majority of other mobile devices.

"Businesses today are constantly bombarded with an overwhelming amount of corporate data that needs to be transformed into actionable pieces of information that can facilitate insight and action. This is where effective dashboards play a vital role by enabling key decision makers to access and analyze key information, spot trends and act on it accordingly to take or influence decisions that help the overall success factors," says Pallav Nadhani, co-founder and CEO of FusionCharts.

"Dashboards that display relevant and succinct information bridge the gap between corporate strategy and seamless execution. It is therefore imperative that the best in class data visualization aides are adhered to. More often than not, dashboards fail due to a lack of understanding, usage of run-of-the-mill tools and ineffective visualization methods."

FusionWidgets XT is the perfect addition to executive dashboards, stock monitors, process monitoring applications and financial applications. It offers a wide variety of gauges and charts including dial charts, linear gauges, Gantt charts, funnel charts, sparklines and data-streaming column, line and area charts. Taking data in both XML and JSON data, it can be integrated with any server-side technology (ASP, ASP.NET, PHP, JSP, ColdFusion, Ruby on Rails etc.) and database.

FusionWidgets XT is a part of the FusionCharts Suite, but functions independently of the other products in the suite as well.
For more information, visit the product tour at http://www.fusioncharts.com/tour
Read More >>

Become an iPhone or iPad App Developer with This New Guide by Rory Lewis

The iPhone is one of the hottest gadgets in today’s market and much of its success has been fueled by the App Store, Apple’s online marketplace for iPhone Applications. Billions of apps have been downloaded since the launch of the App store. To show new developers how to cash in on this growing market, author and computer guru Rory Lewis created "iPhone and iPad Apps for Absolute Beginners, iOS 5 Edition" as a launch pad for beginners.

As a veteran programmer, Lewis uses plain English and practical examples in "iPhone and iPad Apps for Absolute Beginners, iOS 5 Edition" to ensure that all beginners will feel comfortable learning the ins and outs of app development.

"iPhone and iPad Apps for Absolute Beginners, iOS 5 Edition" provides simple, step-by-step instructions and easily understood examples for the novice developer. New developers will first learn how to set up their computers for iPhone and iPad development. Readers will then start the process by learning how to make small changes to existing applications to grow their knowledge. These beginning skills will form the basics of solid application development. With this hands-on guide, novice developers will be able to create their own simple apps and get them working immediately. Lewis also demonstrates how to create a personal style for each application so that it both looks good and users can easily navigate through it. Readers will also become familiar with how to use the iPhone touch screen and accelerometer. Best of all, they will receive shortcuts and cheat sheets to create apps the easy way.

Lewis’s advice is based on practical knowledge and hands-on experience. "iPhone and iPad Apps for Absolute Beginners, iOS 5 Edition" cuts through the fog of jargon and misinformation that surrounds iPhone and iPad application development. This innovative resource provides links to videos that will enable the reader to follow along with the author as though they were in their own private classroom.

There are plenty of books out there about application development but most of them have been created for readers who have had some previous computer programming skills. "iPhone and iPad Apps for Absolute Beginners, iOS 5 Edition" is the go-to guide for the novice developer. With Lewis’s step-by-step book, no prior knowledge is necessary to learn how to create a functional application that can one day be sold in the App Store.
Read More >>

card.io Launches Payments App, Mobile Payments SDK

card.io, a mobile commerce company founded by two former AdMob employees, Mike Mettler and Josh Bleecher Snyder, today announced their first consumer app: Card.io payments app allows anyone to accept a credit card payment simply by using the camera on their phone, with no extra hardware needed. The app experience is simple and clean: download the app (available for both iOS and Android), sign up with card.io, hold a card up to the phone camera, and that's it - there's no swiping or typing. "Most consumers don't have separate hardware to swipe a credit card, so we built this app for them" said Mike Mettler, founder of card.io. Mettler continued, "Whether you're splitting the bill at lunch, paying a friend for gas on a ski trip, or buying a couch on craigslist, card.io payments is the fastest, easiest, and most secure way to accept payment." There are no setup or monthly charges, and you only pay fees on a successful purchase. Pricing is 3.5% plus $0.30 per transaction, and payouts can be made to PayPal or your bank account.




Card.io is also announcing the availability of it's Mobile Payments SDK for iOS and Android. Since the company previously launched a Scanning SDK for iOS in June and Android in September, over 160 apps have integrated with card.io. The company's new offering, available for both platforms, allows developers to not just scan a credit card, but to process that card using card.io's one-stop payment solution. "Developers kept asking us to take more friction out of the payment process" said Mettler. "With our new SDK, you don't need to worry about merchant accounts or payment gateways because the Mobile Payments SDK is a full-stack payments solution. Developers sign up with card.io, download the SDK, and start monetizing."

Visit the card.io Developer center for more information.
Read More >>