Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用与手机相同的API开发网站_Javascript_Android_Ios_Json_Api - Fatal编程技术网

Javascript 使用与手机相同的API开发网站

Javascript 使用与手机相同的API开发网站,javascript,android,ios,json,api,Javascript,Android,Ios,Json,Api,我只熟悉本地移动开发,不熟悉web开发,所以请原谅我的天真 移动应用程序的API通常包括通过POST请求或从API获取数据。数据将作为JSON返回。在本例中,假设API是由Sinatra/Ruby驱动的简单API,移动和网站都会使用它 使用相同的模式进行网站开发的选项是什么?web前端从与移动应用程序相同的JSON端点获取数据 我听说过AngularJS和Backbone.js的名字,不过也许Sinatra就足够了?我宁愿不使用PHP 我更喜欢轻量级的解决方案。如果可能的话,我希望它能够在模型更

我只熟悉本地移动开发,不熟悉web开发,所以请原谅我的天真

移动应用程序的API通常包括通过POST请求或从API获取数据。数据将作为JSON返回。在本例中,假设API是由Sinatra/Ruby驱动的简单API,移动和网站都会使用它

使用相同的模式进行网站开发的选项是什么?web前端从与移动应用程序相同的JSON端点获取数据

我听说过AngularJS和Backbone.js的名字,不过也许Sinatra就足够了?我宁愿不使用PHP


我更喜欢轻量级的解决方案。如果可能的话,我希望它能够在模型更改时更新页面,尽管我猜这将取决于后端API的更改。

根据我的经验,在开发多平台应用程序时,我会尽可能使代码和算法可用。因此,当我准备一个API(以PHP和MySQL为例)时,我对所有平台使用相同的数据检索格式。移动项目和web项目都可以通过JSON或XML读取和发送数据,所以我认为这没关系

虽然如果将所有数据库连接集中在API上,将大大减少连接数(和错误数)


您可以在Foursquare上看到一个正在运行的示例。

一个选项,因为您熟悉本机开发,我假设您对java很在行,那么我建议您使用API开发,它将通过RESTful端点提供JSON

webite与移动应用程序中的过程完全相同,只是您使用web开发语言编写代码

向API发送请求。 获取JSON响应。 将JSON解析为一个对象。 使用HTML、CSS等创建对象的UI表示。 显示UI响应


您所需要做的就是决定使用哪种语言来制作POST/GET-PHP、Ajax或您选择的其他语言。

据我所知,您正在寻找一种轻量级的web开发框架,该框架易于学习和构建动态网站

根据您的要求,web前端应该能够发出HTTP GET/POST请求以从API获取JSON数据。以下选项最适合您:

  • HTML+AJAX(用于非常简单的动态网站)
  • PHP+AJAX(适用于更复杂的网站)
  • GET/POST请求是使用JS库(例如jQuery)作为AJAX调用发出的。此外,jQuery还提供了解析JSON响应的函数


    因此,基本上你需要学习PHP和jQuery,它们都非常流行且易于使用,背后有巨大的社区支持。

    AngularJS非常适合单页类型的应用程序,依靠web服务。它的学习曲线比jQueryAjax调用(imo)要陡峭得多,因此根据您的需要,使用jQuery创建应用程序可能更有意义

    其他JS MVC框架(knockout,ember.JS)在从JSON源获取数据方面可能具有类似的功能,但我对它们不是很熟悉,所以您可以看一看并做出决定

    否则,您只需创建一个起始html页面,并在加载服务后启动对服务的ajax调用。

    在我的“过去的生活”中,我曾经是一名Web开发人员(10年),现在我是一名全职移动开发人员(从2.5年前开始),我使用SOAP或REST API创建了Android和iOS应用程序

    在Web上,我喜欢使用JQuery和jQueryUI。JQuery有非常简单的方法从SOAP或REST Web服务获取JSON数据,以填充网格、表单、在等待响应时显示进度的控件等。请查看:

    我目前正在使用REST操作和JSON数据开发一个iOS应用程序,Web开发团队正在使用backbone.js和JSON-REST操作构建一个后端网站,以将前端与我通过JSON-REST从iOS与之交谈的同一后端连接起来。我知道他们经常使用backbone.js的parse(读取JSON)、collection.toJSON()(转换为JSON)和Model sync方法(更多信息)

    所以。。。我同意其他人的看法,只要你能从REST获得JSON,你就可以在你的Web和移动应用程序上使用同样的方法

    下面是一篇很好的博客文章,介绍如何正确使用RESTful API服务器:


    祝你好运

    如果您的服务层和UI层完全分开,您将获得最大的收益。我的意思是,设计服务时不要考虑特定的UI,因为这样做可以最大限度地重用它们。我建议使用RESTful、基于web的服务实现,因为它们为UI集成提供了极大的灵活性。现在有大量的图书馆能够使用这些服务中的数据

    我不是Ruby开发人员,但这里是Sinatra中一个过于简单的web服务实现:

    require 'rubygems'
    require 'sinatra'
    require 'lib/posts'
    
    post '/posts'
        post = Post.create! params
        redirect "/posts/#{post.id}"
    do
    
    get 'posts/:id' do
        @post = Post.find(params[:id])
        erb :post
    end
    
    归属:

    请注意,用于服务实现的实际语言/平台是不相关的,只要它是RESTful的,并且返回客户端可以轻松使用的数据。一旦设置完成,那么设计web应用与移动应用之间的对比就变成了选择合适的集成库的问题:

    • HTML(5)/CSS/Javascript。这是一个更健壮的选项,因为它可以用于实现移动和web应用程序。上述三种技术构成了新Web2.0体系结构的核心,并且存在各种框架:、甚至是或。目前,这是将web服务API与web应用程序集成的最常用方法。请注意,在某些情况下,您甚至可以只设计一个网站,然后将其用作移动应用程序的基础(例如,通过iOS UIWebView/Android WebView)
    • 中间层代理:如果您想使Ajax i无效,您可以选择这条路线