Showing posts with label Tools. Show all posts
Showing posts with label Tools. Show all posts

Saturday, August 31, 2013

TDD Resources for iOS

Below are a couple of resources I've found useful when doing TDD in iOS. 

Books:
  • Test-Driven iOS Development -  the only TDD book specific to iOS. It goes over implementing a fully functional iOS app using TDD, from the data layer all the way to the UI.
  • Working Effectively with Legacy Code - although not specifically geared towards iOS, this book is the authority on how to work with untested code (legacy code), how to safely make changes to it, all by applying TDD. 
Frameworks/Tools:
  • OCUnit (SenTestingKit) / XCTest - testing unit frameworks built directly into Xcode. 
  • OCMock - objective-c implementation of mock objects. Provides features such as class mocks, stubs, protocol mocks, expect/verify, and many more. 
  • OCHamcrest, OCMockitoKiwi, GHUnit, Cedar - other unit testing tools that you might find useful.  
  • CoverStory / lcov - code coverage of your unit tests. 
Articles/Tutorials:
Other Resources:

Sunday, August 18, 2013

A couple of short link - August 18, 2013


  1. 75 Essential Tools for iOS Developers - the list is categorized based on Inspiration, Design, Source Control, Dissecting Apps, Editors, Documentation, Dependency Management, Diagnostics & Debugging, Images, Core Data, Back-end Services, Analytics, Deployment, Testing, Demos / Marketing, App Sales Reporting. 
  2. Apple allowing up to 200 test devices per iOS Developer account - keep in mind that some developers have not yet seen this change on their accounts (myself included).
  3. The idea behind Uber (which connects drivers with riders) has spread to other services such as
    • laundry (through Prim), 
    • to-dos such as grocery shopping, furniture assembly, etc (through TaskRabbit),
    • house cleaning (through Exec), 
    • dog walking (through Swifto),
    • flower delivery (through Bloom That).
  4. Google's "20% time" is rumored to be dead - this is a shame really, as having one day a week to spend on something that is outside of your job description can bring a lot of satisfaction and value.
  5. Objective-C Coding Style by NYTimes - an extensive guide that outlines the coding conventions adopted by the Developers at NYTimes. There are a few of other coding conventions that they link to at the end of the page.   

Sunday, July 7, 2013

A couple of short links - July 7, 2013


  1. Stroke of insight: Jill Bolte Taylor - fascinating TED talk about a neuroanatomist that one morning had a stroke, during which she analyzed and remembered every single moment. 
  2. 13 Things You Must Know When Starting Out In iOS/Mac Development - advices from well known people that are involved with iOS. 
  3. Clear - a list-keeping app that is fully focused on content and uses gestures instead of buttons. Inovation at its best!
  4. Dribbble - have a design you would like to get feedback on? Look no further. 
  5. TSA API - you can find out wait times for TSA security checkpoints. 


Tuesday, June 2, 2009

All the tools you need to work with JavaScript

There is a JavaWorld article titled Ajax: Tools of the trade, which consists of a survey of tools for the JavaScript developer.

The article starts by mentioning the JavaScript support offered by popular IDEs such as NetBeans, IntelliJ, and Eclipse. It continues with describing tools such as Firebug (lets you edit, debug, and monitor JavaScript on the fly), YSlow (analysis webpages and suggests ways to imporve performance), and Hammerhead (measures the load time of web pages).

The next part of the article goes into ways of testing your JavaScript code, by using tools and frameworks such as JsUnit (unit testing framework for JavaScript), JSSpec (you have one or more tests that describe the behavior), YUI Test (testing framework for JavaScript), and Crosscheck (checks if your code runs in many different browsers).

If you are interested in testing your user interface, the article mentions some of the tools available, such as Selenium (set of tools that supports rapid development of test automation for web-based applications), Watir (an open-source library for automating web browsers), and YUI Test mentioned above which can also be used to simulate the DOM and user interaction.

Other utility tools for JavaScript include JSLint (JavaScript code quality tool), or JSMin ( removes comments and unnecessary whitespace from JavaScript files) and YUI Compressor (in addition to removing comments and whitespace, it also obfuscates local variables using the smallest possible variable name), for minimizing our JavaScript.

Since I have just started JavaScript, I cannot make any recommendations. Try them out, see which one fits your project best, and use it.