欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

PhoneGap发布:AIR for the iPhone

程序员文章站 2022-05-15 08:46:05
...
Dave JohnsonPhoneGap 为“AIR for the iPhone”,因为它就像一个可爱的小hack,首先建立在iphone BarCamp,用一个容器对Web的视图进行包装。这使得这个容器无需通过Webkit就可以访问API的设备。AIR 提供了一个类似的容器给Flash和Ajax。

phoneGap是一个*开放源码的开发工具和框架,允许利用HTML和JavaScript的强大功能在iphone的SDK上开发网页。我们正在努力的使iphone应用程序的开发能够更简单且更开放。现在您不能在Safari上获得本地iphone的APIs,我们正在试图解决这个问题。

它由Objective-C和允许开发商嵌入他们的网页应用程序(HTML, JavaScript , CSS)在一个本地的iphone应用程序。我们大力的主张开放式网络,并希望javaScript的开发人员也能够拥有iphone的特征,例如:后台处理,push,位置,摄像头,本地sqllite和加速器等…

PhoneGap同时也是一个网络应用程序,开发人员可以通过一个路径来快速的将他们的网络应用导入本地iphone应用程序。目前为止我们还没有开放源代码,但是很快就会了。

以下是现在可用的几个API:

JAVASCRIPT:

         
  
  // Location API
   
  // Feels a little ugly compared to passing in a closure. Using a hard coded name? :)
   
   getLocation();
          
  //GAP will invoke this function once it has the location
   
    function gotLocation(lat,lon){
  
       $('lat').innerHTML = "latitude: " + lat;
   
       $('lon').innerHTML = "longitude: " + lon;
  
     }
      
  
  // Accelerometer API
 
       
 
    function updateAccel(){
 
      $('accel').innerHTML = "accel: " + accelX + " " + accelY + " " + accelZ;   

       setTimeout(updateAccel,100);

        }

       

      // Camera (pending)

        function takePhoto(){

          var photo = gap:takePhoto();

          return photo;

        }
 
       
 
      // Vibration (pending)

       

        function vibrate(){

          gap:vibrate();
 
          return false;
 
        }
 

      

你可以在[url= http://github.com/]github[/url]上查看开放的源代码。例如,这里的代码 iphone的定位服务:

[c]
@implementation Location

- (id)init{
NSLog(@"Gap::Location");
locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
return self;
}

+ (void)startTracking{
NSLog(@"starting location tracker");
[locationManager startUpdatingLocation];
}

+ (void)stopTracking{
NSLog(@"stopping location tracker");
[locationManager stopUpdatingLocation];
}

- (void)location{
NSLog(@"location is");
}

- (void)log{
NSLog(@"the location is...");
}

- (void)dealloc {
[locationManager release];
[super dealloc];
}

@end
[/c]
















相关标签: iPhone AIR