User Tools

Site Tools


misc:alternative_architecture_for_hybrid_applications

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
misc:alternative_architecture_for_hybrid_applications [2016/07/06 13:39] mithatmisc:alternative_architecture_for_hybrid_applications [2016/07/17 03:34] – [Notes/questions/issues] mithat
Line 35: Line 35:
 ==== Notes/questions/issues ==== ==== Notes/questions/issues ====
   * Persistence: config file or sqlite w/nice wrapper   * Persistence: config file or sqlite w/nice wrapper
-  * Security model:+  * Security model alternatives:
     * Accept connections only from localhost? CORS?     * Accept connections only from localhost? CORS?
     * Password (in request) or API key (basic auth) property in app?     * Password (in request) or API key (basic auth) property in app?
Line 43: Line 43:
  
 ==== PHP ==== ==== PHP ====
 +  * Attractive because it facilitates a lot of web developers get into embedded development (i.e., lots of devs know PHP very well).
   * What server?   * What server?
 +    * Is the built-in server good enough for a limited number of connections?
     * Is there a native PHP server that is good enough?     * Is there a native PHP server that is good enough?
     * [[https://nginx.org/|nginx]]     * [[https://nginx.org/|nginx]]
Line 54: Line 56:
   * Frameworks   * Frameworks
     * Silex     * Silex
 +      * Good community support.
 +      * Good Composer and module support.
 +      * Documentation is a bit obtuse.
 +      * Out of the box twig support. Redbean support is available.
 +      * Has a good ReST code structure but you wouldn't know it from the docs.
     * Slim     * Slim
 +      * Slim 3 has removed some functionality that might be good to have.
     * Fat Free Framework     * Fat Free Framework
 +      * Compact, more than what's needed.
 +      * Excellent ReST code structure.
 +      * Twig and Redbean support are available.
 +      * Not sure Composer is well supported.
 +    * Check cookies/session (secure) support.
   * Persistence   * Persistence
     * Redbean      * Redbean 
Line 61: Line 74:
       * [[https://packagist.org/packages/hassankhan/config|hassankhan/config]] looks good.       * [[https://packagist.org/packages/hassankhan/config|hassankhan/config]] looks good.
     * [[http://stackoverflow.com/questions/2015715/fastest-way-to-store-easily-editable-config-data-in-php|text file with native functions]] and [[http://psoug.org/snippet/How_to_write_a_config_file_234.htm|this]].     * [[http://stackoverflow.com/questions/2015715/fastest-way-to-store-easily-editable-config-data-in-php|text file with native functions]] and [[http://psoug.org/snippet/How_to_write_a_config_file_234.htm|this]].
- 
- 
- 
-===== Client ===== 
-  * To be served or simply loaded from file? 
-    * I suspect the former is better because of security/CORS/whatever.  
-    * If served, by a separate server or by the same server that's handling the API? 
- 
  
 ==== Node.js ==== ==== Node.js ====
Line 78: Line 83:
       * My [[http://nodejs-configfile.saved.io/|config file bookmarks]]       * My [[http://nodejs-configfile.saved.io/|config file bookmarks]]
       * My [[http://nodejs-sqlite.saved.io/|sqlite bookmarks]]       * My [[http://nodejs-sqlite.saved.io/|sqlite bookmarks]]
 +
 +==== Python ====
 +  * Python is attractive because RPi developers will know it.
 +  * Flask and Flask-RESTful are a good combination.
 +  * Has a development server that might be good enough for a limited number of clients.
 +  * Has the "persistence" advantage of Node.js (if run on development server?)
 +  * Config files and sqlite are TODO.
 +
 +===== Client =====
 +  * To be served or simply loaded from file?
 +    * I suspect the former is better because of security/CORS/whatever. 
 +    * If served, by a separate server or by the same server that's handling the API?
 +
misc/alternative_architecture_for_hybrid_applications.txt · Last modified: 2016/07/22 21:42 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki