Code Monkey home page Code Monkey logo

ios-toolbox's Introduction

Prologue

Print | Download

Speakerdeck slides

Software development, especially mobile development has been improving rapidly. Nowadays, they are things that are unthinkable as of several years ago.

The world is moving to virtual reality (VR) and now soon artificial intelligent assistant. And as a mobile software/iOS developer, I think they're always many thing for us to learn everyday.

Being able to keep track of what's new in technology today is really difficult, it's daunting, not to say an impossible task; but we can't help but have to keep being updated, unless we want to be left behind.

Besides, information overload should be avoided. We all have works to do, and most importantly, family to take care of and life to enjoy! :)

So, how we manage to find informations, how we can separate them into small priorities/categories, or how we use our tools to make the most of them; there are so many "how"s.

But the answer, to me, is rather simple, let say we just need to learn what matters us the most, and better group them in a list or something like that. I call it 'toolbox'.

Here is my a list of my personal iOS development toolbox. I hope it useful for you somewhat! Feel free to add yours. :)

(Note: All list items are arranged in no particular order)

I know you are awesome, let's get started! 🚀


Tools

If you are dealing with networking and Realm, these tools are essentials:

  • Realm Browser: Realm Browser is a Mac OS X utility to open and modify realm database files. https://realm.io
  • SimSim: Use SimSim to explore iOS application folders in Terminal or Finder. Fast, stable, free alternative to SimPholders.
  • JSONExport: JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language.

Images Optimization

ImageOptim 🚀

PNGmini


WWDC 2xxx

It's time! Because we're all busy, but there is an app for that.

WWDC Mac app by Guilherme Rambo helps you get the most out of this year "dub-dub". The best part is, you can even search for past events as well.


References

Slack

Can't miss

  • Hacker News -- words!
  • CocoaPods -- huge time saver, the one and only tool to help us manage Objective-C dependencies. If possible, don't do drag and drop into Xcode project, use pod install instead. I've been using it in all of my apps on the iTunes App Store.
  • objc.io -- Advanced topics in Objective-C development. Don't forget to subscribe!
  • http://feeds.cocoapods.org

Cocoapods

Awesome

Blogs/sites

Articles

Screencast

Twitter

Twitter accounts you should be following, in no particular orders:

Newsletter

Podcast

Not only are podcasts a great way to stay connected to the development community, they’re also a way to stay productive in your downtime.

** Bonus **

Objective-C IDE

(For Xcode Package Management, I highly recommended Alcatraz, It is something you don't want to miss in your Xcode dev arsenal.)

Worthy iOS development tools

Text Editor

Themes

Programming Fonts

"Stop wasting your braintime on meaningless stuff like this and get back to coding. If you replace 'font' with some cosmetic product y'all sound like a bunch of valley girls." -- Some Guy on Reddit

Terminal

Style guides

Tools

Faux Pas inspects your iOS or Mac app’s Xcode project and warns about possible bugs, as well as about maintainability and style issues.

Cheat sheet

Media

Media-based app is growing like crazy.

Player Kit/SDK

Analytics tools

Free

Paid

  • MixPanel -- The most advanced analytics platform ever for mobile and the web.
  • HockeyApp -- HockeyApp is the best way to collect live crash reports, get feedback from your users, distribute your betas, and analyze your test coverage.
  • ...

Crash reporting tools

  • Crashlytics -- The world's most powerful, yet lightest weight crash reporting solution.
  • ...

Logging

  • CocoaLumberjack -- A fast & simple, yet powerful & flexible logging framework for Mac and iOS
  • NSLogger -- A modern, flexible logging tool.
  • ...

Customers service/support/assist

  • UserVoice -- Feedback & Online Help Desk Software.
  • Apptentive -- In-App Feedback & Rating Prompts.
  • ...

Icon fonts

I personally prefer using icon fonts to using real images (png/jpeg...) in Xcode project, since it is lighter and easier to manage.

Localization Helper

Localization is in fact very important in app development process. Here of the tools I found by times.

iOS 8

Pay

Extensions

Adaptive Layout

In-app tools

Rating prompt

  • iRate -- A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while
  • Appirater -- A utility that reminds your iPhone app's users to review the app.
  • ...

Share kit

  • OvershareKit -- A soup-to-nuts sharing library for iOS.
  • ...

Settings kit

  • InAppSettingsKit -- This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app.
  • InAppSettings -- InAppSettings provides a view controller that displays the application's Settings.bundle as it appears in the iPhone settings.
  • ...

Feedback view

  • QBFeedback -- QBFeedback is the library for getting feedbacks from the users easily.
  • CTFeedback -- CTFeedback is a library to send feedback for iOS 6.0+.

Head Up Display (HUD)

  • GBHUD -- Lightweight HUD (heads up display) for quick transient modals in iOS & OSX apps.
  • MBProgressHUD -- MBProgressHUD is an iOS drop-in class that displays a translucent HUD with an indicator and/or labels while work is being done in a background thread.
  • SVProgressHUD -- A clean and lightweight progress HUD for your iOS app.
  • ...

Caching

  • TMCache -- Fast parallel object cache for iOS and OS X.
  • ISDiskCache -- LRU disk cache for iOS.
  • ISMemoryCache -- NSDictionary-based memory cache.
  • EGOCache -- Fast Caching for Objective-C (iPhone & Mac Compatible).

Testing

  • Kiwi -- BDD for iOS.
  • KIF -- Keep It Functional - An iOS Functional Testing Framework.
  • Cedar -- BDD-style testing using Objective-C.
  • Specta -- A light-weight TDD / BDD framework for Objective-C & Cocoa.
  • Expecta -- A Matcher Framework for Objective-C/Cocoa.

Functional Reactive Programming for Cocoa(Touch)

ReactiveCocoa

Model

  • Mantle -- Model framework for Cocoa and Cocoa Touch
  • ...

Kits/Helpers

  • BlocksKit -- The Objective-C block utilities you always wish you had.
  • QSKit -- Q Branch’s collection of Cocoa categories and utilities.
  • ...

Plugins

Academic Papers

Swift


Good Reads

You know, reading is essential...

Learn


Footnotes

Current status

... finding resources, updating. Feel free to submit a pull request. :)

Todo

  • Add more list description or comments
  • Finish adding link to list items.
  • Add more sections and items.

Contribute

Huge thanks! If you want to add your work to this list, please send me a Pull Request, I'll happily merge. If you add more sections, items; or you want to correct some information, please also send me a Pull Request.

Or start >> here <<

And since I'm not an English native speaker so If you found any grammar mistake, please also let me know. :)

Contact

I'm @vinhnx on both Twitter and GitHub. Feel free to send me an email.

--

Patreon

I also have a Patreon in case you want to support my work. Thank you in advance!

https://www.patreon.com/vinhnx

Thanks for reading, keep being awesome and ship great code! 😄

ios-toolbox's People

Contributors

devwiththehair avatar lisadziuba avatar vinhnx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.