Skip to content

Latest commit

 

History

History
119 lines (76 loc) · 7.13 KB

README.md

File metadata and controls

119 lines (76 loc) · 7.13 KB

EDIT:

Found out the hard way that this patch doesn't go the whole mile anyway... The installer app does not even bother to check tiapp.xml, it just uses the hard-coded value, so even though analytics and initial update check is affected by this patch, the only way in 1.3.x series to have your app use your own api is to fork, change the hard-coded constant and re-build the sdk on all platforms (or switch framework). To be clear: THIS BRANCH AND RELATED PATCHES ARE OBSOLETE :) Only kept for archival purposes...

This particular branch of TideSDK

...allows you to set:

<distribution-url>api.example.com/my-tidesdk-endpoint</distribution-url>

in your tiapp.xml

This will replace api.appcelerator.net in service requests (app updates, network installation, analytics etc), and is meant to ease experimentation with custom endpoints.

Note that the complete request urls currently are:

http(s)://distribution-url/p/v1/resource-method

That is, legacy Appcelerator code will add http or https depending on what kind of request is being made, and append /p/v1/ before added the actual resource and method.

For instance:

http://api.appcelerator.net/p/v1/release-list

...becomes:

http://api.example.com/my-tidesdk-endpoint/p/v1/release-list

...with the setting in tiapp.xml from above.

In all other aspects, this branch follows TideSDK master and develop branches precisely, until the services handling is rewritten in TideSDK, allowing for more decent services configuration (after all, this branch is based on but a temporary hack).

TideSDK

Current Build Status Build Status realtime build only tests linux

Create multi-platform desktop apps with HTML5, CSS3 and JavaScript. TideSDK is the best way to create beautiful, unique desktop apps using your web development skills. TideSDK is open source and driven by a collaborative, world wide effort involving a skilled team together with variety of open source contributors.

TideSDK supports the use of Python, PHP and Ruby. This provides capabilities beyond the realm of any competitive framework. Our plans include the expansion and extension TideSDK's API's for even better, more complex, and reliable user experiences on the desktop as we move forward.

TideSDK is a significant and substantial software project and became an 'Affiliate Project' of SPI (Software in the Public Interest) as of September 2012. As an 'Affiliate Project' TideSDK in the company of other important open source projects such as Postgres, Debian, ArchLinux, Drupal, and Jenkins CI that are also non profit. Beyond recogition and credibility, our affiliation also allows us to raise funds through donations for the viability and long term future of the project.

We currently have a strong core team of talented individuals dedicated to this solution. As an open solution, we welcome code and documention contributions. Other displays of support for the project (such tweeting or blogging about TideSDK) is also greatly appreciated.

If you like or use TideSDK in your development or your business, your financial support can help our development efforts. The TideSDK codebase is more complex and requires dedicated time of programmers with deeper programming knowledge to ensure it remains available. Donations are completely tax deductible in the USA. Cloud servers for our CI (Continuous Integration) system are also a great way to say thank you. Please get in touch with us if this is something you can offer. A minimum 1GB RAM machine (or Virtual Machine) using one of the supported operating systems is sincerely appreciated.

Tide MicroKernel

TideSDK has a compact microkernel written in C++ for running pluggable modules. The microKernel supports a cross-language, cross-platform 'binding' and invocation framework. Simply put, the provides developers with the capability to pass objects between languages (ie. pass a JavaScript object to a Python function and so on).

Tide currently supports the following languages:

  • C/C++
  • Python
  • Ruby
  • PHP
  • JavaScript

That said, any C/C++ exposed language that supports embedding can be supported without much effort. Possibilities for the future include:

  • Lua
  • Falcon
  • C# (maybe through Mono)
  • Java

The supported languages may be embedded in the DOM or included by reference in your application code.

The Module API

The Module API is simple but powerful. Modules to extend the api may be written in C++ or even in the supported languages like Python. Once the module is loaded, you can can do anything you wish with its functionality.

The Binding API

A Module communicates to other modules through 'binding'. Binding is the process of either adding values (primitive, objects, functions etc) to the SDK runtime or retrieving them. A number of other utility functions including logging are exposed through the API module.

The binding implementation for each language knows how to exchange values between the SDK runtime and the native language runtime. This is the some of the magic of TideSDK.

Getting and Using TideSDK

TideSDK is available for download at:

Enhanced documentation efforts are a work in progress and we are always looking to improve. The link below with take your to the most current docs. Additional support is available though our Wiki. We are also focused on the development of guides on our documentation site. Each guide serves as a tutorial on a development topic. Please consider contributing time to enhance our documentation or to contribute guide.

Building TideSDK (Developers)

NOTE: If you want to develop applications with TideSDK, just download and install TideSDK to use it.

For SDK Developers, please refer to https://github.com/TideSDK/TideSDK/wiki/Building-tidesdk for up-to-date build instructions.

Support

Legal

TideSDK is licensed under the Apache 2.0 license. See LICENSE for more details.