Wednesday 2-4, KH 105 COMP 446 / ELEC 446 Mobile Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Mobile Application Development Fall COP 4655 U1 T/R 5:00 - 6:15pm – ECS 135 Steve Luis lecture1.
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
UNIT-e futures and UNIT-e Mobile Ben Potter Systems Architect.
Wednesday 2-3:30, DH 1046 COMP 446 / ELEC 446 Mobile Device Applications Scott Cutler Professor in the Practice of Computer Technology Department of Computer.
Wednesday 2-4, KH 105 COMP 446 / ELEC 446 Mobile Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
IPhone Development Crash Course By Dylan Harris
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Wednesday 2-4, KH 105 COMP 446 / ELEC 446 Mobile Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Kashif Jalal CA-240 (072) Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 2 of…
The Jukebox Orian Paz & Yair Cleper Instructor: Viktor Kulikov Semester: Spring 2009 Final Presentation.
Wednesday 2-4, KH 105 COMP 446 / ELEC 446 Mobile Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Wednesday 2-4, KH 105 COMP 446 / ELEC 446 Mobile Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of.
V1.00 © 2009 Research In Motion Limited Introduction to Mobile Device Web Development Trainer name Date.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
MiVoice Office v MiVoice Office v6.0 is mainly a service enhancement release, rather than a user feature rich enhancement release.
Punit Shah Technical Lead | Microsoft
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Building Offline/Cache Mode Web Apps Using Sync Framework Mike Clark Group Manager Cloud Data Services Team
Creating and Running Your First C# Program Telerik Software Academy Telerik School Academy.
March 14, Microsoft Microsoft officially announced the date and time that Internet Explorer 9 (IE9) will move away from a release candidate and.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
ASP.NET INTRODUCTION INTO وزارة التربية و التعليم العالي كلية العلوم و التكنولوجيا قسم علوم الحاسوب و تكنولوجيا المعلومات اعداد الاستاذ: عبد الله محمد.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
FINAL PRESENTATION SYDNEY TOUR. Divya Nalla Raja Kandasamy RajaShekar Donti Ren Zhu Sadah Omar Sulaiman
Web Programming: Client/Server Applications Server sends the web pages to the client. –built into Visual Studio for development purposes Client displays.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Objective C Basics. It’s C with Some Extras!  Cross Platform language  Mac  Linux/UNIX  Windows  Layer above C (Superset)  Adds Object-Oriented.
C# Tutorial -1 ASP.NET Web Application with Visual Studio 2005.
Folio3 IPhone Training Session 1 Presenter: Imam Raza.
tom perkins1 XML Web Services -.NET FRAMEWORK – Part 1 CHAPTER 1.1 – 1.3.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
What’s New for Web Developers in ASP.NET and Visual Studio 2008 Kate Gregory Microsoft Regional Director
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
AUTOMATING DAAS DESKTOPS WITH CITRIX CORTEX Tony Sanchez WW Alliances Solutions Architecture Citrix Systems Inc SESSION CODE: CLI415 (c) 2011 Microsoft.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
Introduction Selenium IDE is a Firefox extension that allows you to record, edit, and debug tests for HTML Easy record and playback Intelligent field selection.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Exploring Networked Data and Data Stores Lesson 3.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Stuff to memorise… "A method tells an object to perform an action. A property allows us to read or change the settings of the object."
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
Web Application Development Instructor: Matthew Schurr Please sign in on the sheet at the front of the room when you arrive.
Introduction ITEC 420.
Introduction to ASP.NET 2.0
CMPE419 Mobile Application Development
Database Driven Websites
Microsoft Ignite /14/ :21 AM BRK2101
The Application Lifecycle
Web Development Using ASP .NET
CMPE419 Mobile Application Development
WCF Data Services and Silverlight
Introduction to ASP.NET Parts 1 & 2
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Wednesday 2-4, KH 105 COMP 446 / ELEC 446 Mobile Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering 9/16/09

Today’s Agenda Events of the week Announcements / Infrastructure Updates Memory Management Review Last Week’s assignments Website 101 Next Week Assignment 3 due by 9/23/2009 SEC - 9/16/09 COMP 446 / ELEC Week 42

Events of the Week Beatles Rockband is a Hoot. TechCrunch50 kicks off: Let the games begin Novell Brings.NET Development to the iPhone Intel reorg spotlights emerging powers Apple hires new general counsel from Intel Smartphones Reduce Mobile Carriers to Dumb Pipes Beware of pricier mobile Internet data plans Samsung Rogue Motorola hopes to Cliq with first Android entry Disruptive Change Predicted for Health IT Market Madden on iPhone Microsoft launches Bing 'Visual Search' Microsoft hopes to turn it around with Zune HD 'Westmere,' 'Jasper Forest' to Top Intel Developer Forum SEC - 9/16/09 COMP 446 / ELEC Week 43

Current Roster Britt Antley ELEC, GR, Rohan Balsaver ELEC, GR, Chris Boyd IT, Hailey Hinson IT, Skyler Johnson COMP, JR, Jones, Sandhya Pai ELEC, GR, Rick Song SS, Duncan, Yiming Wang ELEC, GR, Nick Zhu COMP, SR, SEC - 9/16/09 COMP 446 / ELEC Week 44

COMP 446 Syllabus 8/26/09Introduction / What makes mobile apps special Assignment:Load Visual Studio – Due 9/2/09 9/2/09Intro to Mac OS X and Cocoa Touch, Objective-C, Dev Tools Using Objective-C, Foundation framework Videos:Skim: Lecture 1 (Intro to Mac OS X and Cocoa Touch, Objective-C, Dev Tools) Skim: Lecture 2 (Using Objective-C, Foundation framework) Assignment: Hello Rice [1a] and WhatATool 1 [1b] (Due Beatles’ Day) Beatles’ DayDiscussion of first applications Videos:Lecture 3 (Custom classes, Memory Management, ObjC Properties) Lecture 3a (Intro to XCode and Debugging – pdf only, no video) Lecture 4 (Interface Builder, Controls, Target-Action) Assignment: WhatATool 2 [2a] and HelloPoly I [2b] (Due 9/16/09) 9/16/09ASP.Net Videos:Lecture 5 (Views and Drawing, Animations) Lecture 6 (View Controllers Basics) Assignment: HelloPoly II [3] (Due 9/23/09) 9/23/09Creating and Consuming Web Services Videos:Lecture 7 (Navigation Controllers) / Lecture 8 (Table Views) Assignment: Presence 1 (Due 9/30/09) 9/30/09Stanford Final Presentations Videos:Lecture 9 (Dealing with Data: User Defaults, SQLite, Web Services) Lecture 10 (Threading, Caching and Memory) Assignment: Presence 2 (Due 10/07/09) 10/7/09SQL 101 Videos:Lecture 11 (Text Input, Responder Chain, Presenting Content Modally) Lecture 12 (Address Book) Assignment: SQL Query (Due 10/14/09) 10/14/09Browser Capabilities Videos:Lecture 13 (Searching, Notifications) / Lecture 14 (Mulittouch) Assignment: Website Leveraging Browser Capabilities (Due 10/21/09) 10/21/09iPhone Web Apps Videos:Lecture 15 (Device APIS: Image Picker, Core Location, Accelerometer, Battery Life) Lecture 16 (Bonjour, Streams, Networking) Assignment: iPhone Web Site (Due 10/28/09) 10/28/09Optimizing OpenGL for iPhone (Video 15a) Videos:Lecture 17 (Audio, Video, Web Views) Lecture 18 (Unit testing, Objective-C fun, Internationalization) Assignment: SDK 3.0 Feature (Due 11/04/09) 11/4/09Final Project Prep Videos:Lecture 9a (Loren Bricher on Tweetie) Lecture 11a (How to Build an iPhone App that Doesn’t Suck) Assignment:Final Project (Due 12/2/2009) 11/11/09Final Project Prep Videos:Lecture 13a (From Upstart to Startup to Grownup) Lecture 7a (Publishing to the App Store – PDF only) Assignment:Final Project (Due 12/2/2009) 11/18/09Final Project Prep Assignment:Final Project (Due 12/2/2009) 11/25/09Thanksgiving – Continue Final Projects on your own 12/2/09Demonstrate Final Projects 12/6/09Class Offsite – Sunday (tentative) SEC - 9/16/09 COMP 446 / ELEC Week 45

Mechanics Course Website: Moving to Course Share: \\comp446.rice.edu\comp446\\comp446.rice.edu\comp446 Website Development using Visual Studio Invitation to Join iPhone Developer Program Still pending for Skyler, Rohan, Hailey iPhone Development via Xcode and Interface Builder All IT supported Macs have tools loaded Keep files on your shared drive or memory stick iMac available via User ID Mac Login: Comp446, passwords given verbally in class SEC - 9/16/09 COMP 446 / ELEC Week 46

Course Web Server Hosted through Login: comp446com0 (zero) Password: same as for other things ftp username: |comp446com0 (same password) Individual websites created e.g. MS SQL Server 2008 also setup for class Will pass out credentials during SQL class Let me know if you need earlier access SEC - 9/16/09 COMP 446 / ELEC Week 47

Memory Management Basics Object Creation + alloc and - init methods Objects take space, space allocated with alloc and initialized with init. Object retention The objects maintain a retention count. [object retain] increases that count by 1 [object release] decrease that count by 1 When count reaches 0, [object dealloc] automatically called. Objects retained by other objects need to be released when finished Either when explicitly finished or in the dealloc method Objects which might get released to 0 by others need to be retained SEC - 9/16/09 COMP 446 / ELEC Week 48

Pointers vs. Objects Objects exist in the heap and take up resources Names (id *) point at objects. Their value is a pointer to the real object. Names can be set to nil (0) when they point to nothing Multiple names can point to the same object Copying objects, particularly NSString guarantees they won’t be changed from under you You may cast them as an NSString, but it might be an NSMutableString SEC - 9/16/09 COMP 446 / ELEC Week 49

Instance Variables and Properties Memory Instance variables take up some space int, float, etc store the actual values (NSString *) name saves room for a pointer to an NSString object This space automatically deallocated when the object is deallocated Variables initialized to 0 or nil. This includes pointer objects. Instance variables assigned to objects need to be released during object deallocation OK to message nil objects, not OK to release deallocated objects SEC - 9/16/09 COMP 446 / ELEC Week 410

Autorelease If you know you are finished with an object, release it when finished. It will go away if you are the last reference. If you no longer need the object yourself, but want to pass it to someone else, autorelease the object. If you know you will be done with the object during this run loop but can’t tell where in your code you may finish with it, autorelease the object. If you acquire an autoreleased object and believe you will need it on a different run-loop cycle, retain the object and later release it. SEC - 9/16/09 COMP 446 / ELEC Week 411

Initial Retention Count Objects received through [class alloc] or [class copy] come with a retention count of 1 By convention, all other objects are owned by others and likely come autoreleased They will be automatically destroyed on next wait loop unless otherwise retained SEC - 9/16/09 COMP 446 / ELEC Week 412

- (void) dealloc { } First (optional step) is to run any logic cleanup code Second step is to release any retained objects. [object release], not [object deallocate]. Do not release the deallocated object itself (no [self release]) Final step is to call [super dealloc] SEC - 9/16/09 COMP 446 / ELEC Week 413

Property Memory Management Header options readonly – getter, no setter. Property can not be changed. readwrite (default) – setter and getter assign, retain and copy relate to how setter is coded SEC - 9/16/09 COMP 446 / ELEC Week 414 -(void)setName: (NSString *)value { if (value != name) { // [name release]; name = value; } -(void)setName: (NSString *)value { if (value != name) { [name release]; name = [value retain]; } -(void)setName: (NSString *)value { if (value != name) { [name release]; name = [value copy]; } assignretaincopy

Last Week’s Assignment SEC - 9/16/09 COMP 446 / ELEC Week 415

Website Development 101 Universal way of communicating with any smart phone that has a browser. Dependant on quality of Internet connection. Need to be aware of screen and input limitations Can detect browser and customize experience for particular smart phone With proper JavaScript layer, you can make an application that looks like a real iPhone application without going through iPhone store The server can make richer applications by doing the heavy lifting. It is always on line and has great connectivity SEC - 9/16/09 COMP 446 / ELEC Week 416

Website Basics Interesting client / server model No direct connection between client and server; however protocols and session state help minimize differences The web has evolved Web 1.0 was just delivery of HTML pages displayed statically in browser Has evolved to have significant logic on both client and server Content can be delivered as Entire web page Partial web page (AJAX) No web page (Web service) SEC - 9/16/09 COMP 446 / ELEC Week 417

HTML, XML and JavaScript is a great starting point for all things web related HTML JavaScript XML Many others SEC - 9/16/09 COMP 446 / ELEC Week 418

.Net Created in 2000, it extends Windows with a higher level framework Driven off an intermediate, Common Language Infrastructure (CLI) Targets include: x86, x64, Windows Mobile and Website Development (ASP.Net) Compilers to CIL/CLR (Common Interface Language)/(Common Language Runtime) from many languages including C# and VB Managed Memory – no alloc, dealloc, GC Integrates security, database interface, extensive libraries Silverlight multimedia and AJAX support Tightly integrated into Visual Studio.Net Great article on Wikipedia - Makes many difficult tasks easy. SEC - 9/16/09 COMP 446 / ELEC Week 419

ASP.Net Runs.Net runtime library on the server Set of web controls that execute on the server and send appropriate JavaScript to the browser Manages ViewState Can easily generate or consume web services Integrated configuration files simplify interfaces with , SQL, authentication, etc. Simple AJAX integration SEC - 9/16/09 COMP 446 / ELEC Week 420

Visual Studio Fully integrated development tool Stand Alone Web Mobile SQL Multiple Languages Deployment and Debugging Integrates with Expression line of advanced web design tools SEC - 9/16/09 COMP 446 / ELEC Week 421

Demo SEC - 9/16/09 COMP 446 / ELEC Week 422

Week 5 Assignments View CS193P Lecture 5 : Views and Drawing, Animations View CS193P Lecture 6 : View Controllers Basics Assignment: HelloPoly II [3] (Due 9/23/09) Note: On LogMeIn, Control Drag does not work as if you were local Introduction to Creating and Consuming Web Services: Future Feel free to get ahead of plan with videos and published assignments Workload will get harder with each assignment. We will follow CS193P assignments up to and including Presence 2 Start thinking about big project Really – start thinking about big project! SEC - 9/16/09 COMP 446 / ELEC Week 423

Final Project To be determined by end of 9 th week Topic chosen shortly after mid semester break (10/21/09) Spec finished by 11/04/09 This is VERY important. If we do not have a great project definition, the most interesting part of the course will suffer. With a great project, this will be an exciting course. Can be done individually or in pairs Great if your project could have life after the class finishes SEC - 9/16/09 COMP 446 / ELEC Week 424