在考虑使用Laravel和Ionic Framework构建应用程序时-一些初始问题

安迪·福尔摩斯(Andy Holmes)

我目前正在使用Laravel 5.1构建一个Web应用程序,并希望开始创建一个本机应用程序,以便我的用户可以使用他们的手机。我已经决定使用Ionic Framework可能是该应用程序的最佳方法,并且对于将两者结合在一起存在一些疑问。

我在Laravel中有如下示例所示的路线:

app.dev/geckos-这是一个GET要求。

它接受当前经过身份验证的用户,使用其ID并获取与其用户ID匹配的所有壁虎。但是,它确实返回了刀片视图。

我假设当使用Ionic之类的东西时,为了正确地循环通过GET请求将需要返回JSON而不是返回

有没有一种方法可以JSON根据路由是否像这样来更改我的控制器以供使用

app.dev/api/v1/geckos

两条路由都将使用该GeckoController@index方法,理想情况下,我只是不想重复代码。

我是相当新的,以Laravel和非常新的离子。因此,如果我过于复杂化此理论,请告诉我。

任何信息,对此表示赞赏,

安迪

Matej P.

我使用的另一个解决方案是在Laravel中有一个应用程序,它是一个RESTful JSON API。然后,您将拥有2. Web应用程序(在AngularJS中)和3.移动应用程序在Ionic(基于AngularJS)中。

因此,您将创建两个独立的应用程序,即移动应用程序和Web应用程序,它们都使用相同的JSON API进行通信。网络将是一个单页面的AngularJS应用程序,因此您可以重用与API进行通信的所有Angular服务,甚至可以使用移动Ionic和Web应用程序之间的某些控制器。

为移动/ Web应用程序创建两个单独的响应时,您将节省一些时间,因为您将仅创建一个:JSON响应。AngularJS将在两个应用程序中进行渲染,因此您不必在Blade中为Web应用程序创建单独的模板,而是在两个应用程序中都使用Angular进行所有渲染。在Web和移动应用程序中渲染相同内容会有一些细微差别,但只需要为两个应用程序创建单独的js指令/ css样式/ html模板,使用Blade您将无法重用任何与视图相关的代码在应用程序之间。同样,您将能够对两个应用程序使用相同的身份验证方法。

综上所述,此解决方案应该比您的解决方案更干净,因为您将能够在应用程序之间完全重用后端,可以重用很多前端内容(例如输入验证代码,服务,过滤器等),可以重用身份验证并引入更宽松的内容。耦合,并且结构比控制器中的丑陋响应式开关清晰得多。

编辑:因此,这可以是此类项目的结构的粗略示例:

1. API - REST in Laravel, returning JSON
   -Controllers
       -Session // actions CREATE, DELETE
       -User    // actions CREATE, VIEW, UPDATE, DELETE..
       -Gecko

2. JS application - Angular App, for both mobile and web app
    -common //controllers, services, filters - most of the frontend logic which reusable between both applications
       -controllers.js
       -services.js
       -filters.js
    -mobile //this part can be hosted on some server or part of the mobile application
       -app.js //separate configs for mobile app
       -controllers.js //controllers only for mobile app
       -directives.js
    -web
       -app.js //separate configs for web app (links to HTML template URLS,...)
       -controllers.js //controllers only for web app
       -directives.js
       -services.js //or even services only for web app

3. WEB APP 
   -HTML Templates - bunch of static .HTML files
      -Home
          -Login
          -Register
      -Gecko
          -Gecko Views...
   -Some index file with layout template, which includes everything from js/common and js/web, entry point to your web application

4. MOBILE APP
   -www
      -index.html // must include everything from js/common and js/mobile
      -templates
         -Gecko
            -Gecko Views...

但是结构可能会发生很大变化,具体取决于您希望在Web服务器上托管移动应用程序的哪一部分,哪些应该脱机使用,或者您希望如何托管它,以及结构的详细程度。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 Jenkins 构建 React 应用程序的问题,由于文件加载器丢失了一些文件

使用iOS 12.1 SDK构建本机脚本应用程序时出现问题

使用Gradle构建Android应用程序时出现问题

使用TKInter构建应用程序,需要一些帮助

尝试使用Jenkins和最新的Android插件3.0.0-alpha8构建应用程序时遇到问题

创建按钮和绑定事件处理程序时的一些问题

对Spring Framework应用程序中JDBC在RowMapper中使用的一些疑问

使用ionic构建phonegap应用程序时发生错误

在设计 iOS 应用程序时,是否可以在操作系统级别做一些事情,例如阻止用户使用其他应用程序?

使用 Qt UWP x32/x64 套件构建 UWP 应用程序时出现问题

我使用 UWP 应用程序,但在访问用户文件时遇到了一些问题

使用应用程序加载程序上传应用程序时出错:错误ITMS-90725:“ SDK版本问题。此应用程序是使用iOS 11.4 SDK构建的

Ionic-构建IOS版本的应用程序时出错

使用Cordova for Android构建sencha应用程序时出错

使用 Docker 构建我的 Web 应用程序时出错

使用 webpack 构建 angular 6 应用程序时出错

使用离子构建phonegap应用程序时出错

使用引导程序3在Internet Explorer 7(IE7)上的一些CSS问题

在一个应用程序中使用多个角度应用程序时的性能影响

关于Cygwin [Windows中的Linux]的一些问题(套接字,线程,其他编程和外壳程序问题)

18.04上一些应用程序按钮,表情符号和字体很大

使用Xcode 10构建ios ionic应用程序时Missinig provisoning配置文件错误

使用一些共享模块创建两个netbeans应用程序

使用表达式和(Web)控制台应用程序时的特殊问题

使用片段和Microsoft API创建翻译器应用程序时的异步问题

构建 REST api 同步应用程序时需要考虑哪些架构模式?

“错误,预期表达式为int”,并且在构建我的C应用程序时需要一些建议

使用电子打包程序构建电子应用程序时,“无法找到有效的应用程序”错误

如何诊断仅在使用uWSGI运行应用程序时出现的Python Flask应用程序中的问题?