GNUstep: What is it? gnustep.org

Size: px
Start display at page:

Download "GNUstep: What is it? gnustep.org"

Transcription

1 GNUSTEP

2 GNUstep: What is it? A powerful object-oriented development environment: A set of cross-platform libraries for developing applications (text, graphic, script, web, etc.) Development tools and applications A free implementation of the OpenStep specifications A community :-)

3 Once upon a time... NeXT and SUN collaborated in 1994 to create an open API: OpenStep, extending on the famous NeXTSTEP environment and API Soon, SUN moved its focus on a new toy, and NeXT was brought by Apple in order to create MacOS X In the meantime, the Free Software Foundation started a free implementation of the OpenStep specification

4 What s interesting? GNUstep is crossplatform (Linux, *BSDs, Windows, OSX...) and compatible with Cocoa (Apple) Objective-C is a really nice, simple yet powerful language, and you can transparently reuse C libraries (and soon with gcc 4, C++ libraries as well) You ve got Distributed Objects for free! GNUstep provides really powerful development tools like GORM, that really speed-up the development

5 Languages Objective-C is the main language but bindings exists for other languages: Java, Ruby, Scheme, Smalltalk with some work, existing Cocoa bindings for other languages like PyObjC (Python) and CocoaCamel (Perl) could be ported.. any volunteers?

6 One-minute course on Objective-C

7 Objective-C?? A strict superset of the ANSI C -- a dozen new keywords and only one syntactic addition Simply provides what s needed to have real object-oriented features, not just class-oriented features: messages, late bindings, dynamic loading, introspection, categories, etc. Very inspired by Smalltalk! When I invented the term Object-Oriented, I didn t have C++ in mind -- Alan Kay

8 MyObject : NSObject { NSString* name; } - (NSString*) name; - (void) setname: (NSString*) str; + (void) print: (id) anobject with: (NSString*)

9 MyObject - (NSString*) name { return name; } - (void) setname: (NSString*) str { ASSIGN (name, str); } + (void) print: (id) anobject with: (NSString*) amessage { NSLog (@ %@: %@, amessage, anobject);

10 Usage MyObject* anobject = [[MyObject alloc] init]; [anobject Toto ]; [MyObject print: anobject My object s name is ]; My object s name is: Toto

11 GNUstep components

12 GNUstep s Architecture GNUstep Applications GNUstep Core Other Frameworks Application Kit (GUI) Foundation Kit (Base) Database Kit Graphics Backend (Back) Web Deployment StepTalk Scripting Native Graphics System Operating System... Hosting Operating System (Linux, BSD, MS Windows, OS X,...)

13 GNUstep Frameworks Foundation AppKit GDL2: EOF 4.5 clone SQLClient GSWeb : WebObjects clone StepTalk : script engine

14 Development process Developer Development Applications Gorm User Interfaces Development Tools Project Center Makefiles Make Environment (GNUstep-Make) Source Code GCC Make Legend Other Resources (Images, Sounds,...) Information Application GNUstep Foreign Slide level: Introduction GNUstep Overview, Stefan Urbanek, 2004

15 ProjectCenter The GNUstep IDE Manage your project s files (source code, images, etc.) Create the makefiles Give you a nice GUI to set up options..

16

17 GORM GNUstep Object Relationship Modeller At first glance, it s just another GUI builder......with nice additions like guidelines, etc. But it s much more than that : it s really an object relation modeller a gorm file is the serialization of the object s graph Check a video demo on DevelopmentDemonstration.html or come to the GNUstep booth/ devroom for a demo

18

19 Related projects

20 Frameworks Pantomime: mail management (pop3,imap,smtp..) NetClasses: asynchronous network library Addresses: address book management BookmarkKit: bookmark management Tryst: RendezVous implementation CameraKit: libgphoto wrapper SlideShowKit: includes slideshows in your application etc.

21 Applications Not many apps for the moment (around sixty), but growing fast Even with so few applications, you can experience the interest of having applications really cooperating (check the live CD or go the booth for a demo) examples...

22

23

24

25 Desktops! Different projects to create a desktop based on GNUstep libraries: Backbone : the goal is to implement a NeXTSTEP-like desktop Étoilé, Garma : wants to push the enveloppe :)

26 LiveCD: GNUSTEP GNU a e e f t h c e S

27 Gallery

28

29

30

31

32 Future

33 Future... Amelioration of the graphic backends (Cairo, OpenGL...) A better Windows backend more GNUstep applications and desktop-related stuff Better integration with KDE/GNOME

34

Introduction to Cocoa Programming

Introduction to Cocoa Programming Introduction to Cocoa Programming Dr. Ken Tabb Computer Science Dept. University of Hertfordshire Agenda Brief history of Cocoa Apple s free Developer Tools - Xcode - Interface Builder Cocoa programming

More information

Principles of Programming Languages. Objective-C. Joris Kluivers

Principles of Programming Languages. Objective-C. Joris Kluivers Principles of Programming Languages Objective-C Joris Kluivers joris.kluivers@gmail.com History... 3 NeXT... 3 Language Syntax... 4 Defining a new class... 4 Object identifiers... 5 Sending messages...

More information

Cocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa

Cocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa Music 3SI: Introduction to Audio/Multimedia App. Programming IDE (briefly) VST Plug-in Assignment 1 hints Last Week... Week #5-5/5/2006 CCRMA, Department of Music Stanford University 1 2 Today... Cocoa

More information

Extensibility in GNUstep & Étoilé

Extensibility in GNUstep & Étoilé Extensibility in GNUstep & Étoilé GNU Hackers 2011 http://www.gnustep.org http://www.etoileos.com Objective-C & GNUstep Objective-C Created by Brad Cox and Tom Love in 1986 to package C libraries in Smalltalk-like

More information

X Review. Mac OS X Roots: NeXT. BWS Available for virtually every OS

X Review. Mac OS X Roots: NeXT. BWS Available for virtually every OS X Review Distributed window system Server is the user s Terminal Client runs the application WM Xlib Application Widget Set Xt Intrinsics Xlib Highly modular X Server (exchange WM, Widget Set) BWS Available

More information

Cocoa Programming. David Chisnall. March 18,

Cocoa Programming. David Chisnall. March 18, March 18, 2010 http://cs.swan.ac.uk/~csdavec/papers/safariwebcast.pdf The Story So Far What is Cocoa? Why Cocoa? GNUstep Overview GNUstep Look and Feel A Brief History of Objective-C 1980: Smalltalk-80

More information

IPHONE. Development Jump Start. phil nash levelofindirection.com

IPHONE. Development Jump Start. phil nash levelofindirection.com IPHONE Development Jump Start phil nash levelofindirection.com Who? been in a professional developer for the last 18 years - mostly windows - c++, c#, Java, Python etc - then, Aug 2008, decided to write

More information

Traditional Smalltalk Playing Well With Others Performance Etoile. Pragmatic Smalltalk. David Chisnall. August 25, 2011

Traditional Smalltalk Playing Well With Others Performance Etoile. Pragmatic Smalltalk. David Chisnall. August 25, 2011 Étoilé Pragmatic Smalltalk David Chisnall August 25, 2011 Smalltalk is Awesome! Pure object-oriented system Clean, simple syntax Automatic persistence and many other great features ...but no one cares

More information

CS 371L - Mobile Computing (ios) Dr. William C. Bulko. CS 371L Mobile Computing (ios) Introduction

CS 371L - Mobile Computing (ios) Dr. William C. Bulko. CS 371L Mobile Computing (ios) Introduction CS 371L - Mobile Computing (ios) Dr. William C. Bulko CS 371L Mobile Computing (ios) Introduction 2014 The Evolution of Computing Mainframes Minicomputers - fridge-size PCs - desktop and deskside Laptops

More information

Xcode and Swift CS 4720 Mobile Application Development

Xcode and Swift CS 4720 Mobile Application Development Xcode and Swift Mobile Application Development Why Java for Android? Let s first recap: why do you think Android uses Java? 2 Why Java for Android? Some good reasons: You can t find a CS major that doesn

More information

Objective-c Gnustep Base Programming Manual

Objective-c Gnustep Base Programming Manual Objective-c Gnustep Base Programming Manual Setup Objective-C programming environment on Ubuntu Distributions. Objective-C is a gcc source.m 'gnustep-config --objc-flags' -lobjc -lgnustep-base Then, install

More information

Introduction to PyObjC

Introduction to PyObjC Author Bob Ippolito Conference Introduction to PyObjC PyCon DC, March 2005 Intended Audience Python developers using Mac OS X 10.3 or later Spies from the Linux and Win32 camps Hopefully a GNUstep porter/maintainer

More information

Welcome to CS193E. Mac OS X Cocoa Programming. James Dempsey Paul Marcos

Welcome to CS193E. Mac OS X Cocoa Programming. James Dempsey Paul Marcos Welcome to CS193E Mac OS X Cocoa Programming James Dempsey dempsey1@stanford.edu Paul Marcos pmarcos@stanford.edu Intros James Dempsey Paul Marcos TA - David

More information

COCOA WORKSHOP PART 1. Andreas Monitzer

COCOA WORKSHOP PART 1. Andreas Monitzer COCOA WORKSHOP PART 1 Andreas Monitzer 2009-02-17 WORKSHOP SCHEDULE 1. Introduction, Foundation 2. GUI Programming 3. Hands-On 4. Advanced 2009-02-17 2009-02-19 2009-02-24 2009-02-26 STRUCTURE Introduction

More information

Richard Mallion. Swift for Admins #TEAMSWIFT

Richard Mallion. Swift for Admins #TEAMSWIFT Richard Mallion Swift for Admins #TEAMSWIFT Apple Introduces Swift At the WWDC 2014 Keynote, Apple introduced Swift A new modern programming language It targets the frameworks for Cocoa and Cocoa Touch

More information

Mobile App Development. ios Platform

Mobile App Development. ios Platform Mobile App Development ios Platform Overview Introduction Development Environment & Tools App Store Pros & Cons Programming Recommendations Objective-C Primer Demo What is ios? An operating system that

More information

GNUstep OpenBSD ports

GNUstep OpenBSD ports GNUstep OpenBSD ports Sebastian Reitenbach sebastia@openbsd.org FOSDEM 2012 Agenda Why GNUstep on OpenBSD? What's new Problems encountered over last year Outlook Why GNUstep on OpenBSD OpenBSD is a nice

More information

MacOS X Cocoa Programming for Vision Scientist --- #1

MacOS X Cocoa Programming for Vision Scientist --- #1 MacOS X Cocoa Programming for Vision Scientist --- #1 (by Izumi Ohzawa, 2005-06-16) 1. Best desktop OS with ease of use and excellent programming environment. 2. OS Darwin BSD Unix Open Source. (Unix 3.

More information

Principles of Programming Languages, 2

Principles of Programming Languages, 2 Principles of Programming Languages, 2 Matteo Pradella February 2015 Matteo Pradella Principles of Programming Languages, 2 February 2015 1 / 23 1 Object Oriented Programming (OO) Matteo Pradella Principles

More information

Having Fun with Social Coding. Sean Handley. February 25, 2010

Having Fun with Social Coding. Sean Handley. February 25, 2010 Having Fun with Social Coding February 25, 2010 What is Github? GitHub is to collaborative coding, what Facebook is to social networking 1 It serves as a web front-end to open source projects by allowing

More information

COPYRIGHTED MATERIAL. Installing Xcode. The Xcode Installer

COPYRIGHTED MATERIAL. Installing Xcode. The Xcode Installer 1 Installing Xcode Xcode is part of the Xcode Developer Tools suite developed and distributed by Apple Computer. If you haven t installed it already, read this chapter to find out how to do so. If the

More information

JXTA TM Technology for XML Messaging

JXTA TM Technology for XML Messaging JXTA TM Technology for XML Messaging OASIS Symposium New Orleans, LA 27-April-2004 Richard Manning Senior Software Architect Advanced Technology & Edge Computing Center Sun Microsystems Inc. www.jxta.org

More information

iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5

iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5 iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5 Questions? Announcements Assignment #1 due this evening by 11:59pm Remember, if you wish to use a free late you must email me before

More information

Dynamic Object-Oriented Programming with Smalltalk 1. Introduction

Dynamic Object-Oriented Programming with Smalltalk 1. Introduction Dynamic Object-Oriented Programming with Smalltalk 1. Introduction Prof. O. Nierstrasz Autumn Semester 2009 LECTURE TITLE What is surprising about Smalltalk > Everything is an object > Everything happens

More information

ROOT on ios and RootBrowser app

ROOT on ios and RootBrowser app Native graphics on Mac OS X ROOT on ios and RootBrowser app Timur Pocheptsov root.cern.ch 1 Motivation X11.application (XQuartz) is not required anymore. No mysterious crashes with XQuartz (we can not

More information

Cocoa Fundamentals Guide

Cocoa Fundamentals Guide Cocoa Fundamentals Guide General 2010-12-13 Apple Inc. 2010 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by

More information

Actian Hybrid Data Conference 2018 London

Actian Hybrid Data Conference 2018 London Disclaimer This document is for informational purposes only and is subject to change at any time without notice. The information in this document is proprietary to Actian and no part of this document may

More information

An Introduction to Smalltalk for Objective-C Programmers

An Introduction to Smalltalk for Objective-C Programmers An Introduction to Smalltalk for Objective-C Programmers O Reilly Mac OS X Conference October 25 28, 2004 Philippe Mougin - pmougin@acm.org http://www.fscript.org IT Management & Consulting What you will

More information

Outline Smalltalk Overview Pragmatic Smalltalk Closing. Pragmatic Smalltalk. David Chisnall. February 7,

Outline Smalltalk Overview Pragmatic Smalltalk Closing. Pragmatic Smalltalk. David Chisnall. February 7, February 7, 2009 http://etoileos.com Outline Using The Smalltalk Family Smalltalk - first dynamic, object-oriented, language. Self - Smalltalk without classes. JavaScript - Self with Java syntax. A Quick

More information

Review. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes

Review. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes Review iphone Application Programming Lecture 2: Objective-C, Cocoa Device restrictions Gero Herkenrath Media Computing Group RWTH Aachen University Winter Semester 2013/2014 http://hci.rwth-aachen.de/iphone

More information

Object-Oriented Programming with Objective-C. Lecture 2

Object-Oriented Programming with Objective-C. Lecture 2 Object-Oriented Programming with Objective-C Lecture 2 Objective-C A Little History Originally designed in the 1980s as a fusion of Smalltalk and C Popularized by NeXTSTEP in 1988 (hence the ubiquitous

More information

More Programming Languages. Spring 2014 Carola Wenk

More Programming Languages. Spring 2014 Carola Wenk More Programming Languages Spring 2014 Carola Wenk Web Scripting We ve seen how (relatively) easy it is to create a new language. This suggests that languages can actually be application-specific. Let

More information

CS193E Lecture #3 Categories and Protocols Cocoa Memory Management

CS193E Lecture #3 Categories and Protocols Cocoa Memory Management CS193E Lecture #3 Categories and Protocols Cocoa Memory Management Winter 2008, Dempsey/Marcos 1 Today s Topics Questions from Assignment 1A or 1B? Categories Protocols Cocoa Memory Management Object life

More information

These are exciting times for Macintosh users. When Apple unleashed Mac

These are exciting times for Macintosh users. When Apple unleashed Mac Chapter 1 A Brief Tour of Cocoa Development In This Chapter Programming for Mac OS X Discovering the Cocoa development process Exploring the tools for programming Cocoa applications These are exciting

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

The Road to Object Orientation Operating Systems Object Planes. Object Planes. David Chisnall. March 25, 2010

The Road to Object Orientation Operating Systems Object Planes. Object Planes. David Chisnall. March 25, 2010 March 25, 2010 The Road to Object Orientation Evolving Abstractions for Decomposition Introducing Object Orientation The Problem with Object Orientation The R[Pleaseinsertintopreamble]le of Operating System

More information

AppleScript Overview

AppleScript Overview AppleScript Overview Contents Introduction to AppleScript Overview 5 Who Should Read This Document 5 Organization of This Document 6 See Also 6 About AppleScript 7 When to Use AppleScript 8 Limitations

More information

ios Application Development Course Details

ios Application Development Course Details ios Application Development Course Details By Besant Technologies Course Name Category Venue ios Application Development Mobile Application Development Besant Technologies No.24, Nagendra Nagar, Velachery

More information

Agenda. Knoppix OS and Open Source Development Software Tools. Knoppix Features. What is Knoppix. Knoppix Features. System Requirements

Agenda. Knoppix OS and Open Source Development Software Tools. Knoppix Features. What is Knoppix. Knoppix Features. System Requirements Agenda Knoppix OS and Open Source Development Software Tools 软件学院章亦葵 What is Knoppix Knoppix Features Open Source Development Tools QT UML Eclipse Mono C# What is Knoppix Knoppix, or KNOPPIX (k-nop-iks),

More information

Cross-platform software development in practice. Object-Oriented approach.

Cross-platform software development in practice. Object-Oriented approach. Cross-platform software development in practice. Object-Oriented approach. Vitaly Repin Maemo Devices, Nokia Maemo March 25, 2010 (Maemo) Cross-platform software development. March 25, 2010 1 / 37 Outline

More information

Computer Science, a Mac, and You. Kevin Cathey Junior, Computer Science

Computer Science, a Mac, and You. Kevin Cathey Junior, Computer Science Computer Science, a Mac, and You Kevin Cathey Junior, Computer Science Roadmap Introduction to Apple s Developer Tools Xcode & Instruments Implement three MP s acm.uiuc.edu Introduction to Developer Tools

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

CS193P: HelloPoly Walkthrough

CS193P: HelloPoly Walkthrough CS193P: HelloPoly Walkthrough Overview The goal of this walkthrough is to give you a fairly step by step path through building a simple Cocoa Touch application. You are encouraged to follow the walkthrough,

More information

Manual Java Mac Os X Problems

Manual Java Mac Os X Problems Manual Java Mac Os X 10.6 8 Problems Important: Use Software Update and install all updates until Software Update reports Select the version of Safari you are using below to see the relevant instructions.

More information

JavaScript for Automation

JavaScript for Automation Services #WWDC14 JavaScript for Automation Session 306 Sal Soghoian Product Manger Automation Technologies 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written

More information

Building a (Core) Foundation. Rob Napier

Building a (Core) Foundation. Rob Napier Building a (Core) Foundation Rob Napier A little background Mac OS X since 10.4 iphoneos since release Cisco Jabber, The Daily, RNCryptor Focus on low-level Today: Mac developer for... KACE NAPIER KUMAR

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Evaluation Individual

More information

Mac OS X Part 1. The University of Utah Student Computing Labs Macintosh Support

Mac OS X Part 1. The University of Utah Student Computing Labs Macintosh Support Mac OS X Mac OS X Part 1 The University of Utah Student Computing Labs Macintosh Support mac@scl.utah.edu We Will Cover Classic Mac OS evolution Overview UNIX evolution Overview How Classic Mac OS & UNIX

More information

Project JXTA Technology Overview.

Project JXTA Technology Overview. Project JXTA Technology Overview www.jxta.org The Time Is Right for P2P and Project JXTA Peer-to-Peer (P2P) is not new. However, the time is now right for the broad P2P applications deployment. The Project

More information

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen

ArcGIS Runtime: Building Cross-Platform Apps. Rex Hansen Mark Baird Michael Tims Morten Nielsen ArcGIS Runtime: Building Cross-Platform Apps Rex Hansen Mark Baird Michael Tims Morten Nielsen Agenda Cross-platform review ArcGIS Runtime cross-platform options - Java - Qt -.NET ArcGIS Runtime: Building

More information

GNUstep Database Library Introduction

GNUstep Database Library Introduction GNUstep Database Library Introduction c 2006 Free Software Foundation Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice

More information

Learning to Provide Modern Solutions

Learning to Provide Modern Solutions 1 Learning to Provide Modern Solutions Over the course of this book, you will learn to enhance your existing applications to modernize the output of the system. To do this, we ll take advantage of the

More information

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone

More information

Stanford CS193p. Developing Applications for ios Fall Stanford CS193p. Fall 2013

Stanford CS193p. Developing Applications for ios Fall Stanford CS193p. Fall 2013 Developing Applications for ios -14 Today What is this class all about? Description Prerequisites Homework / Final Project ios Overview What s in ios? MVC Object-Oriented Design Concept Objective C (Time

More information

Embedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics

Embedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics Embedded Linux UI Comparison Tim Bird Senior Staff Software Engineer Sony Electronics 1 yyyy-mm-dd Agenda Embedded Linux UI options Comparison points Presence at ELC Evaluations

More information

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure CSE 451: Operating Systems Spring 2012 Module 3 Operating System Components and Structure Ed Lazowska lazowska@cs.washington.edu Allen Center 570 The OS sits between application programs and the it mediates

More information

Download vm virtualbox in virtualbox.org/. How to Install OSX on Virtualbox.

Download vm virtualbox in virtualbox.org/. How to Install OSX on Virtualbox. Manual Java Installing Mac Os X Lion On Pc Virtualbox To create a virtual machine, open up Virtualbox and click New on the upper left. Give your new virtual machine a name, and choose Mac OS X for the

More information

Questions. Exams: no. Get by without own Mac? Why ios? ios vs Android restrictions. Selling in App store how hard to publish? Future of Objective-C?

Questions. Exams: no. Get by without own Mac? Why ios? ios vs Android restrictions. Selling in App store how hard to publish? Future of Objective-C? Questions Exams: no Get by without own Mac? Why ios? ios vs Android restrictions Selling in App store how hard to publish? Future of Objective-C? Grading: Lab/homework: 40%, project: 40%, individual report:

More information

Free & Open Source Software: The Academic Future

Free & Open Source Software: The Academic Future Free & Open Source Software: The Academic Future Paul E. Johnson University of Kansas http://lark.cc.ku.edu/~pauljohn Presentation at Ukrainian National University of L'viv May 27, 2005

More information

TABLE OF CONTENTS 1. INTRODUCTION DEFINITIONS Error! Bookmark not defined REASON FOR ISSUE 2 3. RELATED DOCUMENTS 2 4.

TABLE OF CONTENTS 1. INTRODUCTION DEFINITIONS Error! Bookmark not defined REASON FOR ISSUE 2 3. RELATED DOCUMENTS 2 4. TABLE OF CONTENTS 1. INTRODUCTION 1 1.1 DEFINITIONS Error! Bookmark not defined. - 2 2. REASON FOR ISSUE 2 3. RELATED DOCUMENTS 2 4. OVERVIEW 2-3 5. HARDWARE ARCHITECTURE 3 6. SUPPORTED CONFIGURATIONS

More information

Review. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes

Review. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes Review iphone Application Programming Lecture 2: Objective-C, Cocoa Device restrictions Gero Herkenrath Media Computing Group RWTH Aachen University Winter Semester 2013/2014 http://hci.rwth-aachen.de/iphone

More information

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications Pavel Petroshenko, Sun Microsystems Jan Valenta, Sun Microsystems Jerry Evans, Sun Microsystems Goal of this Session Demonstrate

More information

Miguel de Icaza A Genius Free Software Evangelist. Cristhian Figueroa PhD Student Ingegneria Informatica e dei Sistemi Politecnico di Torino 2013

Miguel de Icaza A Genius Free Software Evangelist. Cristhian Figueroa PhD Student Ingegneria Informatica e dei Sistemi Politecnico di Torino 2013 Miguel de Icaza A Genius Free Software Evangelist Cristhian Figueroa PhD Student Ingegneria Informatica e dei Sistemi Politecnico di Torino 2013 Miguel de Icaza Biography: Born in Mexico (1972). Is a free

More information

Two geeks discuss Mobile/RIA stuff over coffee

Two geeks discuss Mobile/RIA stuff over coffee JavaFX / Android Competing technologies or ideal partnership?...or (preferred title)... Two geeks discuss Mobile/RIA stuff over coffee Set up One Sony-XPeria mobile device complete with JavaFX demo loaded

More information

DAQRI ARToolKit 6/Open Source. Mobile development. ios and Android. Oxford Brookes University

DAQRI ARToolKit 6/Open Source. Mobile development. ios and Android. Oxford Brookes University DAQRI ARToolKit 6/Open Source Mobile development ios and Android Phil Thorsten Oxford Brookes University 2017-01 Agenda Why mobile is important for us ARToolKit6 for Android Get familiar with ARTK6 on

More information

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region Azure DevOps Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region What is DevOps? People. Process. Products. Build & Test Deploy DevOps is the union of people, process, and products to

More information

Project JXTA Technology Overview

Project JXTA Technology Overview Project JXTA Technology Overview Dr Simon See Technical Director Asia Pacific Science & Technology Center Sun Microsystems Inc. www.jxta.org The Time Is Right for P2P and Project JXTA Peer-to-Peer (P2P)

More information

ITP 342 Mobile App Dev. Unit Testing

ITP 342 Mobile App Dev. Unit Testing ITP 342 Mobile App Dev Unit Testing Testing Xcode provides you with capabilities for extensive software testing. Testing your projects enhances robustness, reduces bugs, and speeds the acceptance of your

More information

JSish. Ryan Grasell. June For my senior project, I implemented Professor Keen s JSish spec in C++. JSish

JSish. Ryan Grasell. June For my senior project, I implemented Professor Keen s JSish spec in C++. JSish JSish Ryan Grasell June 2015 1 Introduction For my senior project, I implemented Professor Keen s JSish spec in C++. JSish is a subset of Javascript with support for execution from the command line and

More information

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

Author Bob Ippolito Conference. PyObjC Hacking. PyCon DC, March 2005

Author Bob Ippolito Conference. PyObjC Hacking. PyCon DC, March 2005 Author Bob Ippolito Conference PyObjC Hacking PyCon DC, March 2005 Intended Audience Python developers using Mac OS X 10.3 or later... that aren't (very) afraid of C Who probably know a little about Objective-C...

More information

Grand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015

Grand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 Grand Central Dispatch and NSOperation CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 1 Credit Where Credit Is Due Most of the examples in this lecture were inspired by example code

More information

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017 Ruby on Rails SITC Workshop Series American University of Nigeria FALL 2017 1 Evolution of Web Web 1.x Web 1.0: user interaction == server roundtrip Other than filling out form fields Every user interaction

More information

Part 3: Online Social Networks

Part 3: Online Social Networks 1 Part 3: Online Social Networks Today's plan Project 2 Questions? 2 Social networking services Social communities Bebo, MySpace, Facebook, etc. Content sharing YouTube, Flickr, MSN Soapbox, etc. Corporate

More information

ArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe

ArcGIS Runtime: Building Cross-Platform Apps. Mike Branscomb Michael Tims Tyler Schiewe ArcGIS Runtime: Building Cross-Platform Apps Mike Branscomb Michael Tims Tyler Schiewe Agenda Cross-platform review ArcGIS Runtime cross-platform options - Java - Qt -.NET Native vs Web Native strategies

More information

About Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Euphoria

About Tutorial. Audience. Prerequisites. Disclaimer & Copyright. Euphoria About Tutorial This tutorial gives you basic understanding of Euphoria programming language. Euphoria is simple, flexible, easy to learn, and interpreted high-level programming language for DOS, Windows,

More information

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. Operating System Services User Operating System Interface

More information

An overview of mobile and embedded platforms

An overview of mobile and embedded platforms ES3 Lecture 2 An overview of mobile and embedded platforms Basic Classes Embedded devices: These are in toasters, cars, mice, etc. Usually very real-time focused (us accuracy) Very small memory, not usually

More information

plopengl - Quickstart Guide

plopengl - Quickstart Guide SWI-Prolog OpenGL Binding - Quickstart Guide By Jan Tatham September 3, 2012 1 SWI-Prolog OpenGL Bindings 1.1 is an open source project that aims to develop a complete cross-platform (Windows, Mac OSX

More information

CS 4300 Computer Graphics

CS 4300 Computer Graphics CS 4300 Computer Graphics Prof. Harriet Fell Fall 2011 Lecture 8 September 22, 2011 GUIs GUIs in modern operating systems cross-platform GUI frameworks common GUI widgets event-driven programming Model-View-Controller

More information

Qt + Maemo development

Qt + Maemo development ES3 Lecture 11 Qt + Maemo development Maemo Nokia's Linux based platform Almost entirely open source Nokia N770, N800, N810, N900 only models Only N900 has 3G/phone capability N900 has relatively fast

More information

Objective-C and COCOA Applications

Objective-C and COCOA Applications Objective-C and COCOA Applications Fall, 2012 Prof. Massimiliano "Max" Pala pala@nyu.edu Overview X-Code IDE Basics Objective-C Classes Methods Invocations Important Types Memory Management Protocols Exceptions

More information

SWIFT! init(title: String) { self.title = title } // required initializer w/ named parameter

SWIFT! init(title: String) { self.title = title } // required initializer w/ named parameter SWIFT! class Session { let title: String // constant non-optional field: can never be null and can never be changed var instruktør: Person? // variable optional field: null is permitted var attendees:

More information

Xcode. Chapter 1. Creating a Project

Xcode. Chapter 1. Creating a Project Chapter 1 Xcode Many computer books use Chapter 1 to cover introductory material. Xcode Tools Sensei is not one of those books. I want you to start learning immediately. After reading this chapter you

More information

Let's Play... Try to name the databases described on the following slides...

Let's Play... Try to name the databases described on the following slides... Database Software Let's Play... Try to name the databases described on the following slides... "World's most popular" Free relational database system (RDBMS) that... the "M" in "LAMP" and "XAMP" stacks

More information

Objective-C Runtime. Cocoa s Jewel in the Crown. NSConference Nicolas

Objective-C Runtime. Cocoa s Jewel in the Crown. NSConference Nicolas Objective-C Runtime Cocoa s Jewel in the Crown NSConference 2011 Nicolas Seriot @nst021 [isa kindof:magic] 1. Objective-C 2. Recipes 3. Introspection 4. Debugging Objective-C Runtime OO, Smalltalk-like,

More information

CPS221 Lecture: Operating System Functions

CPS221 Lecture: Operating System Functions CPS221 Lecture: Operating System Functions Objectives 1. To overview key hardware concepts 2. To introduce the process concept 3. To discuss the various kinds of functionality of the OS last revised 8/25/11

More information

A NET Refresher

A NET Refresher .NET Refresher.NET is the latest version of the component-based architecture that Microsoft has been developing for a number of years to support its applications and operating systems. As the name suggests,.net

More information

CSCI 251: iphone Application Development

CSCI 251: iphone Application Development CSCI 251: iphone Application Development Spring Term 2012 Lecture #3: Handling Data (Chater 8) Handling Data (from the Internet) Handling XML (structured data formatted as text) Handling (unformatted)

More information

Introduction to ArcGIS API for ios. Divesh Goyal Eric Ito

Introduction to ArcGIS API for ios. Divesh Goyal Eric Ito Introduction to ArcGIS API for ios Divesh Goyal Eric Ito Agenda Introduction Getting Started Objective-C basics Common design patterns Key Concepts Q&A Remember to turn in your surveys. ArcGIS - A Complete

More information

ios: Objective-C Primer

ios: Objective-C Primer ios: Objective-C Primer Jp LaFond Jp.LaFond+e76@gmail.com TF, CS76 Announcements n-puzzle feedback this week (if not already returned) ios Setup project released Android Student Choice project due Tonight

More information

Praktikum Entwicklung von Mediensystemen mit

Praktikum Entwicklung von Mediensystemen mit Praktikum Entwicklung von Mediensystemen mit Sommersemester 2013 Fabius Steinberger, Dr. Alexander De Luca Today Organization Introduction to ios programming Hello World Assignment 1 2 Organization 6 ECTS

More information

OS Structures. ICS332 Operating Systems

OS Structures. ICS332 Operating Systems OS Structures ICS332 Operating Systems OS Services and Features OS Services and Features Helpful to users Better efficiency/operation OS Services Load and run a program Allow a program to end in multiple

More information

Science. Computer Science

Science. Computer Science Introductions CS 442: Mobile App Development Michael Saelee Michael (Sae) Lee - lee@iit.edu - moss.cs.iit.edu - Office: SB 226A Agenda - Syllabus & Administrivia - Course overview Android

More information

OpenOffice.org as a platform for developers

OpenOffice.org as a platform for developers OOoCon 2004 - Berlin OpenOffice.org as a platform for developers Mathias.Bauer@sun.com Mathias Bauer - OpenOffice.org Application Framework - Slide 1 Agenda Speaker introductions Features for development

More information

IBM SPSS Statistics and open source: A powerful combination. Let s go

IBM SPSS Statistics and open source: A powerful combination. Let s go and open source: A powerful combination Let s go The purpose of this paper is to demonstrate the features and capabilities provided by the integration of IBM SPSS Statistics and open source programming

More information

CSE 498 CSE Courses and Skills Inventory Fall Name:

CSE 498 CSE Courses and Skills Inventory Fall Name: Name: CSE Courses Inventory For each course, check whether you have completed the course or you are currently enrolled in it. Course Completed Enrolled CSE 335 Software Design CSE 410 Operating Systems

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System

More information

When we re first learning Cocoa (or Java, or Qt, or any other application framework),

When we re first learning Cocoa (or Java, or Qt, or any other application framework), MacDevCenter http://www.macdevcenter.com/lpt/a/4752 6 April 2004 The Cocoa Controller Layer by Michael Beam When we re first learning Cocoa (or Java, or Qt, or any other application framework), one of

More information