{"id":13394190,"url":"https://github.com/eclipsesource/tabris-js","last_synced_at":"2025-05-14T18:06:53.555Z","repository":{"id":16982673,"uuid":"19745493","full_name":"eclipsesource/tabris-js","owner":"eclipsesource","description":"Create native mobile apps in JavaScript or TypeScript.","archived":false,"fork":false,"pushed_at":"2025-02-06T11:16:30.000Z","size":29911,"stargazers_count":1402,"open_issues_count":337,"forks_count":172,"subscribers_count":61,"default_branch":"master","last_synced_at":"2025-04-13T10:57:58.370Z","etag":null,"topics":["android","ios","javascript","mobile","tabris","tabris-js"],"latest_commit_sha":null,"homepage":"https://tabrisjs.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipsesource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-05-13T15:50:36.000Z","updated_at":"2025-04-11T08:04:19.000Z","dependencies_parsed_at":"2023-01-11T19:29:22.940Z","dependency_job_id":"ef2802db-318d-4be4-8efc-f94ee8fdc783","html_url":"https://github.com/eclipsesource/tabris-js","commit_stats":{"total_commits":2827,"total_committers":29,"mean_commits":97.48275862068965,"dds":0.6742129465864874,"last_synced_commit":"d5a362c26fc60b90c9e5774b210c336f3918dba2"},"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipsesource%2Ftabris-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipsesource%2Ftabris-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipsesource%2Ftabris-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipsesource%2Ftabris-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipsesource","download_url":"https://codeload.github.com/eclipsesource/tabris-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254198514,"owners_count":22030965,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","ios","javascript","mobile","tabris","tabris-js"],"created_at":"2024-07-30T17:01:11.957Z","updated_at":"2025-05-14T18:06:48.548Z","avatar_url":"https://github.com/eclipsesource.png","language":"JavaScript","readme":"# Tabris.js\n\n[![Build Status](https://travis-ci.org/eclipsesource/tabris-js.svg?branch=master)](https://travis-ci.org/eclipsesource/tabris-js)\n[![Slack Status](https://tabrisjs.herokuapp.com/badge.svg)](https://tabrisjs.herokuapp.com)\n\nTabris.js is a framework for developing mobile apps with native UIs in JavaScript.\niOS and Android apps can be built entirely from one code base, which frees you from the task of managing code for multiple platforms.\n\n![Tabris.js hello world](doc/img/hello-example.png)\n\n```jsx\nimport {Button, contentView, TextView} from 'tabris';\n\n// in JS\n\nnew Button({top: 16, centerX: true, text: 'Use native UI'})\n  .onSelect(() =\u003e $(TextView).only().text = 'Powered by Tabris.js')\n  .appendTo(contentView);\nnew TextView({top: 'prev() 16', centerX: true})\n  .appendTo(contentView);\n\n// or in JSX\n\ncontentView.append(\n  \u003c$\u003e\n    \u003cButton top={16} centerX text='Use native UI'\n            onSelect={() =\u003e $(TextView).only().text = 'Powered by Tabris.js'}/\u003e\n    \u003cTextView top='prev() 16' centerX/\u003e\n  \u003c/$\u003e\n);\n```\n\n## Native widgets\n\nThe code of the application is loaded dynamically - nothing is precompiled. JavaScript is executed Just-in-Time and passed via a native bridge to the device. Tabris.js accesses native controls and does not depend on webviews to render the app's UI. As a result, the performance of the apps cannot be distinguished from apps developed directly in native code of the platforms.\n\n## Getting started\n\nTo start developing Tabris.js applications, visit [tabrisjs.com](http://tabrisjs.com) and check out the \"[Getting Started](https://tabrisjs.com/documentation/latest/getting-started)\" guide in the documentation. Be sure to also consult the code [snippets](https://github.com/eclipsesource/tabris-js/tree/master/snippets) in the Tabris.js Developer App (download from the app store for [Android](https://play.google.com/store/apps/details?id=com.eclipsesource.tabrisjs) and [iOS](https://apps.apple.com/us/app/tabris-js/id939600018)).\n\n## Extensible\n\nTabris.js can be extended with [Cordova plugins](https://cordova.apache.org/plugins/) to add support for additional native features. A cordova plugin is also able to directly interface with the native widgets (as can be seen e.g. in the [tabris-plugin-maps](https://github.com/eclipsesource/tabris-plugin-maps)).\n\n Additionally [npm modules](https://www.npmjs.com/) can be used to further enrich the available JS APIs.\n\nTabris.js also adds support for many key web technologies including:\n- _Canvas_\n- _XMLHttpRequest / fetch()_\n- _WebSockets_\n- _localStorage_\n\n## Build tabris npm module\n\nFollow these steps if you want to build the tabris module yourself.\n\nInstall the [Grunt](http://gruntjs.com) build tool using [npm](http://www.npmjs.com):\n\n```bash\nnpm install -g grunt-cli\n```\n\nIn the [tabris-js](https://github.com/eclipsesource/tabris-js) root directory fetch the dependencies and build:\n\n```bash\nnpm install\ngrunt\n```\n\n## License\n\nPublished under the terms of the [BSD 3-Clause License](LICENSE).\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipsesource%2Ftabris-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipsesource%2Ftabris-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipsesource%2Ftabris-js/lists"}