!
!

OSX | iOS
Who A’m I ?!
Name: abdimuna!
Day: programmer!
Night: braining, sec
Recap
1. History
2. Apple | Mac
3. OSX
4. iOS
5. Objective-C
6. Conclusion
Apple | Founders

Steve Jobs & Steve Wozniak
Apple-II:

First Apple-II was released
on 17, June 1977
!
8-bit personal computer
Processor: 1Mhz
RAM: 4KB
Mac | Macintosh

1st Mac was introduced
on 24, Jan 1984
!
1.
2.
3.
4.

First public computer with GUI
Used mouse
Processor...
NEXT

16, sept 1985
Steve jobs left Apple.inc
NeXT-Step | (NS)

Next was formed by Steve Jobs
in 1985, after he left Apple.inc
NeXT-Step | (NS)

First Next computer, was released in
1888, followed by NeXT station in 1990
NEXT-Step | (NS)

•
•
•
•
•
•

Characteristics:
32-bit system,
Processor Motorola 68030, 25Mhz
RAM: 256MB
HDD: 330 or 660M...
OSX | Birth
OSX | History
OSX | Architecture
OSX | Architecture
OSX | Darwin

Darwin is an opensource kernel
OSX | RPC
OSX | Evolution
iOS
iOS (before 24, June 2010 — iPhone OS)
Is an operating system which powers apple’s
devices (iPhone, iPad, iPod-touch, ...
OSX vs iOS
•

The architecture for which the kernel and binaries are compiled is
ARM-based, rather than Intel i386 or x86_...
OSX vs iOS
•

•

•
•

The kernel is compiled slightly differently, with a focus on
embedded features and some new APIs, so...
OSX vs iOS
•

•

•

•

The kernel is compiled slightly differently, with a focus on embedded
features and some new APIs, s...
OSX vs iOS
There some differences in API point of view
!
•
•

OSX: Cocoa-API e.g NS(Button,View..)
iOS: UITouch, or Cocoa-...
Objective-C
Is the general purpose programming language which
adds some SmallTalk-style messaging in C (developed
in early...
Objective-C |
Its:
•
•

OOP (adds object capabilities to pure C)
dynamic, (U-can determine which messages to send to
at ru...
Objective-C |
•
•

Delegation (Like callBacks, powerful)
Protocols, (acts as substitute for multiple inheritance,
like jav...
Objective-C |
•

Notifications (Objects can register for Notifications
events)

•

KVC/KVO, (Accessing object properties by ...
Objective-C | GCD
GCD: simply is the multi-threading API

•
•
•
•
•
•
•

dispatch_object_t
dispatch_source_t
dispatch_queu...
Objective-C | Apple
Objective-C | File ext
Objective-C | Data-types
Objective-C | class
Objective-C |ex
Objective-C | Implementation
Objective-C | method
Objective-C | sms-sent
Objective-C | example
Objective-C | dot
Objective-C | ex
Objective-C |ex
Objective-C | MultiThreading

dispatch_queue_t exampleQueue =
dispatch_queue_create( “com.abdimuna1.myApp”, NULL );
dispat...
Objective-C | Xcode

Is tool(GUI) for compiling, debugging,
designing: Objective-C, C, or C++
projects
Objective-C | Xcode
Objective-C | compiling in cmd
Objective-C | Libraries
ks
an

Th

.?
A
Q
sou

:
ces
r

Apple: https://developer.apple.com/library/mac/documentation/cocoa/conceptual/
ProgrammingWithObjectiveC/Int...
Upcoming SlideShare
Loading in …5
×

A short story_of_osx_i_os

344 views

Published on

This is a short story of OSX and iOS, and an introduction to Objective-C, the language powering Mac OS X and iOS mobile operating system.
...In this presentation you will see how and when the OSX and iOS started,
... How OSX and IOS differ
... Introduction to Objective-C, and some key features of objective-C
...This presentation don't teach you how to become a programmer, but it gives the binding understand on how and when things came the way they are .
...

Published in: Education
2 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
344
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
2
Likes
0
Embeds 0
No embeds

No notes for slide

A short story_of_osx_i_os

  1. 1. ! ! OSX | iOS Who A’m I ?! Name: abdimuna! Day: programmer! Night: braining, sec
  2. 2. Recap 1. History 2. Apple | Mac 3. OSX 4. iOS 5. Objective-C 6. Conclusion
  3. 3. Apple | Founders Steve Jobs & Steve Wozniak
  4. 4. Apple-II: First Apple-II was released on 17, June 1977 ! 8-bit personal computer Processor: 1Mhz RAM: 4KB
  5. 5. Mac | Macintosh 1st Mac was introduced on 24, Jan 1984 ! 1. 2. 3. 4. First public computer with GUI Used mouse Processor: 8Mhz RAM 64KB
  6. 6. NEXT 16, sept 1985 Steve jobs left Apple.inc
  7. 7. NeXT-Step | (NS) Next was formed by Steve Jobs in 1985, after he left Apple.inc
  8. 8. NeXT-Step | (NS) First Next computer, was released in 1888, followed by NeXT station in 1990
  9. 9. NEXT-Step | (NS) • • • • • • Characteristics: 32-bit system, Processor Motorola 68030, 25Mhz RAM: 256MB HDD: 330 or 660MB 10Base-2 Ethernet 17 inch b/w monitor, res 1120x832
  10. 10. OSX | Birth
  11. 11. OSX | History
  12. 12. OSX | Architecture
  13. 13. OSX | Architecture
  14. 14. OSX | Darwin Darwin is an opensource kernel
  15. 15. OSX | RPC
  16. 16. OSX | Evolution
  17. 17. iOS iOS (before 24, June 2010 — iPhone OS) Is an operating system which powers apple’s devices (iPhone, iPad, iPod-touch, AppleTV)
  18. 18. OSX vs iOS • The architecture for which the kernel and binaries are compiled is ARM-based, rather than Intel i386 or x86_64. The processors may be different (A4, A5, A5X, etc), but all are based on designs by ARM. The main advantage of ARM over Intel is in power management, which makes their processor designs attractive for mobile operating systems such as iOS, as well as its arch-nemesis, Android. ! • The kernel sources remain closed — even though Apple promised to maintain XNU, the OS X Kernel, as open source, it apparently frees itself from that pledge for its mobile version. Occasionally, some of the iOS modifications leak into the publicly available sources (as can be seen by various #ifdef,__arm__, and ARM_ARCH conditionals), though these generally diminish in number with new kernel versions.
  19. 19. OSX vs iOS • • • • The kernel is compiled slightly differently, with a focus on embedded features and some new APIs, some of which eventually make it to OS X, whereas others do not. The system GUI is Springboard, the familiar touch-based application launcher, rather than Aqua, which is mouse-driven and designed for windowing.. Memory management is much tighter, as there is no nigh-infinite swap space to fall on. The system is hardened, or “jailed,” so as not to allow any access to the underlying UNIX APIs (i.e. Darwin), nor root access, nor any access to any directory but the application’s own. Only Apple’s applications enjoy the full power of the system. App Store apps are restricted and subject to Apple’s scrutiny.
  20. 20. OSX vs iOS • • • • The kernel is compiled slightly differently, with a focus on embedded features and some new APIs, some of which eventually make it to OS X, whereas others do not. The system GUI is Springboard, the familiar touch-based application launcher, rather than Aqua, which is mouse-driven and designed for windowing.. Memory management is much tighter, as there is no nigh-infinite swap space to fall on. As a consequence, programmers have to adapt to harsher memory restrictions and changes in the programming model. The system is hardened, or “jailed,” so as not to allow any access to the underlying UNIX APIs (i.e. Darwin), nor root access, nor any access to any directory but the application’s own. Only Apple’s applications enjoy the full power of the system. App Store apps are restricted and subject to Apple’s scrutiny.
  21. 21. OSX vs iOS There some differences in API point of view ! • • OSX: Cocoa-API e.g NS(Button,View..) iOS: UITouch, or Cocoa-Touch e.g UI(Button, View)
  22. 22. Objective-C Is the general purpose programming language which adds some SmallTalk-style messaging in C (developed in early-80’s). • Designed by: Brad Cox & Tom Love • Was selected as the main language used by NeXT for its NEXTSTEP OS Now: is the language powering both OSX & iOS •
  23. 23. Objective-C | Its: • • OOP (adds object capabilities to pure C) dynamic, (U-can determine which messages to send to at runtime, and not at compile time) • Single inheritance, (NSObject is the super class of all subclasses)
  24. 24. Objective-C | • • Delegation (Like callBacks, powerful) Protocols, (acts as substitute for multiple inheritance, like java interfaces) • Categories, (Adds functionality to an existing classes aka adding some more methods for an existing classes)
  25. 25. Objective-C | • Notifications (Objects can register for Notifications events) • KVC/KVO, (Accessing object properties by key or by value, Listening for object’s properties change) • Blocks, (Powerful feature added in iOS-4, & OSX-10.6, They enable you to do powerful operations e.g concurrencies )
  26. 26. Objective-C | GCD GCD: simply is the multi-threading API • • • • • • • dispatch_object_t dispatch_source_t dispatch_queue_t dispatch_group_t dispatch_semaphore_t dispatch_time_t dispatch_once_t
  27. 27. Objective-C | Apple
  28. 28. Objective-C | File ext
  29. 29. Objective-C | Data-types
  30. 30. Objective-C | class
  31. 31. Objective-C |ex
  32. 32. Objective-C | Implementation
  33. 33. Objective-C | method
  34. 34. Objective-C | sms-sent
  35. 35. Objective-C | example
  36. 36. Objective-C | dot
  37. 37. Objective-C | ex
  38. 38. Objective-C |ex
  39. 39. Objective-C | MultiThreading dispatch_queue_t exampleQueue = dispatch_queue_create( “com.abdimuna1.myApp”, NULL ); dispatch_sync( exampleQueue, ^{ // // DO SOME STUFF HERE }); dispatch_release( exampleQueue );
  40. 40. Objective-C | Xcode Is tool(GUI) for compiling, debugging, designing: Objective-C, C, or C++ projects
  41. 41. Objective-C | Xcode
  42. 42. Objective-C | compiling in cmd
  43. 43. Objective-C | Libraries
  44. 44. ks an Th .? A Q
  45. 45. sou : ces r Apple: https://developer.apple.com/library/mac/documentation/cocoa/conceptual/ ProgrammingWithObjectiveC/Introduction/Introduction.html

×