Where did your architecture go?

8 06 2013

Architecture idea may be lost when system grows big. Team’s role is to have architectural concepts still in mind and implement or change them according to new needs. Here is a broadcast from SpringSourceDev (which I recommend to follow – there are also another interesting concepts in their activity, not only for Spring developers).

Do you like my blog?
I manage this blog and share my knowledge for free sacrificing my time. If you appreciate it and find this information helpful, please consider making a donation in order to keep this page alive and improve quality

Donate Button with Credit Cards

Thank You!

Best iPhone/iOS programming tutorials

22 12 2012

When I was beginning with iOS development I’ve collected some tutorials, lectures and beginner’s guides that were most helpful for me. Here they are! I recommend studying them in particular sequence starting with top of my list. You can also study my notes from Stanford University lectures. Enjoy!

1. Create Your first iOS app: I recommend starting with very simple Hello World! from Apple, rather than reading too much at the beginnig. Just make this app with step-by-step instructions. After that, step further

2. Get familiar with Objective-C: (if you are new to it) learning Objective-C mens learning syntax and some specifics. If you already are experienced with objective languages, it won’t be hard

3. Get familiar with mobile app development: Read this short guide if you are new to mobile app development

4. Watch Stanford’s University iOS lectures: these are pretty long, however helps to get bit more detailed outlook than tutorials. Not all lectures are required and worth watching, rather giving you basic knowledge than practice (see details below in more section).

It is worth to watch them all just to know that particular features and APIs exist. You will investigate them deeper when you will need them. Here are my notes from these lectures (use XMind to open file). Detailed lectures description:

    1. Introduction to Mac OS X, Cocoa Touch, Objective-C and Tools – don’t watch his one :P It is made for course attendees. Step to second screencast
    2. Using Objective-C, Foundation Framework – you can skip it if you know Objective-C already
    3. Custom Classes, Object Lifecycle, Autorelease – still about Objective-C, however Object lifecycle and Reference Counting are worth watching. You can ignore all that release, retain and autorelease stuff if you use ARC (Automatic Reference Counting).
    4. Building an Application, MVC, Nib Files, Controls – iOS app development best practices, design patterns (MVC), user interface building. Watch out: starting with iOS 5 you can use Storyboards instead of Nib files (this is not mentioned in this course)
    5. Views and Drawing, Animations – Basics about custom views (User Interface)
    6. View Controller Basics – focused on controller from MVC. View Controller is used in every app, so it is vital.
    7. Navigation Controllers – good lecture about navigation in apps: Navigation Bar and Tab Bar are very common app components
    8. Table Views – vital: Table View is used extremely often in mobile apps
    9. Dealing with Data: User Defaults, SQLite, Web Services – quite boring however extremely useful. Shows how to connect your app with various data sources and use persistence in apps
    10. Performance and Threading – watch if you are ot familiar with performance issues in mobile apps
    11. Text Input and Presenting Content Modally – mostly about keyboard types and some useful tool to analyse your code
    12. Address Book: Putting People in Your App – wath when you need to use iOS address book
    13. Debugging Tips, Searching, Notifications, KVC/KVO – must watch. XCode debugging is not as easy as Eclipse Debug. Also notifications are worth knowing
    14. Touch Events and Multi-Touch – watch if you need advanced touch events analysis in your app (for example in games)
    15. APIs: Location, Accelerometer & Camera, Batteries – good to watch if you plan to use these APIs
    16. Audio APIs, Video Playback, Displaying Web Content, Settings – same as above
    17. Bonjour, NSStream, GameKit – covers networking: automatic configuration in Bonjour, asynchronous communication in NSStream, and GameKit
    18. Unit Testing; Fun with Objective-C; Localization – good app needs to be tested :)

5. Watch some practical iOS screencasts: Dani Arnaout posts good videos on YouTube. He shows how to write code, so the essence. This is where I learned the Storyboard concept for instance. Tutorials are not the best ones, sometimes seem to be very trivial, however Dani is dominating the youtube iOS tutorial channel. I also am impressed with his initiatives and his young developer team friends (13 and 14 years old guys!)

5b. This guy is 14 years old and his screencasts are awesome! particularly this one. He seems to really master iOS development. He is from Singapore, therefore I also really admire his english. I am sure that you will find a lot more good videos on youtube.

What more?

  • Learn using Design Patterns: since they are really enforced in iOS apps
  • Read books: Find the one that is currently the best on Amazon and read it to improve your knowledge and feel like advanced iOS developer
  • Practice, practice, practice…

Did I help you?
I manage this blog and share my knowledge for free sacrificing my time. If you appreciate it and find this information helpful, please consider making a donation in order to keep this page alive and improve quality

Donate Button with Credit Cards

Thank You!

Best Android programming tutorials

22 02 2012

There is a lot of android programming tutorials on the Internet. Reading Android books is not necessary and seems to be waste of time. It is good to watch 10 minute Youtube screencast to dive in the topic before reading a book with details.

I crawled for some valuable and short tutorials. I have my personal notes with essential info from them – feel free to contact me if You wish to see them. Here are three best tutorials:

  1. Android Developers tutorial (required to start)
  2. Tim’s screencast (optional)
  3. Android programming on slideshare (the best!)
  4. MimirSoft YouTube screencast (introduces quite interesting Android topics not found in another lessons)
  5. Android bootcamp YouTube Screencast (Recommended, although I did not fully watched it)

A brief description of items mentioned above:

Hello Android

First place where beginner should take a look is official Android Developers page with very clear environment configuration instructions and Hello Android tutorial. It takes about 3 hours to complete both. It is a must to go step by step to config environment.

A bit more advanced screencast (optional)

If You still don’t feel confident You can watch Tim’s screencast on Youtube. He introduces and shows some basics. It can be helpful to watch and get some more theoretical experience. It takes about 2 hous to watch all videos. I am sure there are better tutorials, however I stick to this one as it is short and consistent.

Android lectures by Vladimir Kulyukin

Vladimir Kulyukin is an Associate Professor at Department of Computer Science in Utah State University. He shares his lectures slides on the Internet. In my opinion these are very useful and advanced enough to feel more confident in Android. There are basics and more advanced topics presented in power point but also Youtube screencasts with professor’s comments are included. Prof. Kulyukin also draws live some things helping to understand lecture (using MS Paint I suppose :P) and gives valuable comments connected to it. It really looks OK!.

There is 14 lectures, each one takes at least 1 hour to learn, so it is not an activity for one evening. However worth spending time. Feel free to skip some topics that does not interest You.

MimirSoft screencast (including interesting topics)

This is not yet another Android programming tutorial. It introduces topics like ViewHolder, JSON, array adapters and some more things that are really used in real-life programming.

Android bootcamp

A lot of best practices and bad habits are mentioned here. Also fully functional app is build as an example. I also recommend getting know with these Screencasts.

Did I help you?
I manage this blog and share my knowledge for free sacrificing my time. If you appreciate it and find this information helpful, please consider making a donation in order to keep this page alive and improve quality

Donate Button with Credit Cards

Thank You!

%d bloggers like this: