26. Writing Portable Objective-C Code On Apple Mac OS X , avoid Objective-C 2.0 syntax such as properties and fast enumerations. On Apple Mac OS X , avoid garbage collection and use explicit the traditional OpenStep reference counting. This is likely to change – GNUstep is getting garbage collection again. On both Apple and GNUstep , If you need to access the runtime, use an intermediate layer such as the one provided by gnustep-base additions.
48. And many more... Application Foundation Kit Application Kit Operating System OS Graphical System Objective-C Runtime
49. Apple Cocoa Application Cocoa Foundation Kit Cocoa Application Kit Operating System (Apple Darwin/BSD) OS Graphical System Apple Objective-C Runtime
50. GNUstep Application GNUstep Base GNUstep GUI Operating System (Any!) Graphical System (Any!) GNU Objective-C Runtime GNUstep Back
55. Writing Portable Objective-C Code On Apple Mac OS X , avoid Apple-only frameworks such as CoreFoundation, CoreSound, CoreAnimation, KeyChain, Carbon, Quartz, Quicktime, WebKit. On GNUstep , avoid GNUstep extensions that are not available as a separate library or framework that works on Apple as well.
73. Requires editing text files - not a point-and-click GUI IDE include $(GNUSTEP_MAKEFILES)/common.make TOOL_NAME = hello hello_OBJC_FILES = hello.m include $(GNUSTEP_MAKEFILES)/tool.make
74. Building the Foundation Kit Example Not Portable Portable GUI IDE Text files include $(GNUSTEP_MAKEFILES)/common.make TOOL_NAME = hello hello_OBJC_FILES = hello.m include $(GNUSTEP_MAKEFILES)/tool.make XCode Project Center gnustep-make Pbxbuild can generate GNUmakefiles from Xcode projects
83. Menu Portability (hard) On Apple you must use the Apple-only method NSApplication -setAppleMenu: which is not part of OpenStep and not even declared in a public header (!!).
84.
85. On GNUstep and Apple the standard organization of menus (location of menu items, etc) are very different.
117. Can load up translations at runtime: a single file can support all
118. languages <gsmarkup> <objects> <window title="This is a test window"> <button title="Print Hello!" action="printHello:" /> </window> </objects> </gsmarkup>
119. Creating GUIs without code Not Portable Portable GUI IDE Text files <gsmarkup> <objects> <window title="This is a test window"> <button title="Print Hello!" action="printHello:" /> </window> </objects> </gsmarkup> Interface Builder Gorm Renaissance Renaissance GUI Builder (TODO)