Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
▓
▄▓▓▓▌
▓▓▓▓▓▌
▓▓▓▓▓▓▓▌
▄▓▓▓▓▓▓▓▓▓▄▄▄▄
▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄
▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄
▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓▓▓▓▓
▓▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▄▀▓▓▓▓▄
▓▀▀ ▐▓▓▓▓██▀▀▀█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░█▓▓▓▄
▐▓ ▀▀ █▓▓▓▓▓▓▓▓▓▓▓▓▓▌ ▓▓▓▓▄
▓ ▀▓▓▓▓▓▓▓▓▓▓▓▓▄▓▓▓▓▓▓▓▄▄▄▄
▓▌ ▀▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
▐▌ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▀
▐▌ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▀
▐▌ ▄▄▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▀
▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀
▓ ▓█▀▀ ▀█▓█▀
▐▌ ▐ ▓
▓ ▐▓
▀▄ ▄▀
▀▒▄▄ ▄▄▄▀▀▄▄▄▀▀
▀▀▒▄▄▄▄▄▄▒▀▀▀
█████╗ ███████╗████████╗██████╗ ██████╗
██╔══██╗██╔════╝╚══██╔══╝██╔══██╗██╔═══██╗
███████║███████╗ ██║ ██████╔╝██║ ██║
██╔══██║╚════██║ ██║ ██╔══██╗██║ ██║
██║ ██║███████║ ██║ ██║ ██║╚██████╔╝
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝
An SDK that makes it easy to leverage native or web UI for building amazing iOS and Android apps.
Astro Android vs iOS Feature Parity Status Doc
You can find the Astro documentation at astro.mobify.com or you can view it locally (see Making Changes). We currently publish the documentation for all versions of Astro since v0.5.
The documentation is organized by Astro release in folders. docs/public/
contains one folder for
each release of Astro plus a special dev
folder for changes related to an unreleased version of
Astro. See the release checklist for more information.
We use Harp to build our docs. To install Harp, run npm install
.
Most of our documentation is written in markdown. Changes to
any tutorials or reference guides should be changed in /docs
.
To preview your changes, run the following:
npm run harp:server
Then browse to http://localhost:9000
.
The Astro documentation is hosted on S3 at http://astro.mobify.com.s3-website-us-east-1.amazonaws.com, which is the origin for http://astro.mobify.com.
To deploy an update to the docs, you will need permission to deploy to the astro.mobify.com S3 bucket.
If you have the correct permissions, ensure AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
environment
variables are set, and run the following to deploy the updated docs site:
npm run upload_astro_docs
Clone the repo: git clone git@github.com:mobify/astro.git
npm install -g grunt-cli
npm install
Android Studio
.Open an existing Android project
, and select astro/sandbox/android
. Android Studio
will open both the Astro Android source code and the Sandbox Android app source code.open sandbox/ios/Sandbox.xcworkspace
in your Terminal. It will open both the Astro iOS source code and the Sandbox iOS app source code.Note: Xcode 6 is no longer supported as we have upgraded to Swift 2.2!
In order to ship a change to Astro, follow our Contributing guidelines.
npm install
.npm test
.open js/tests/index.html
.npm run fixture-server
The testing framework we use is jUnit 3.
The mocking library we use is Mockito.
Run the following command to generate the test coverage report:
cd android; ./gradlew createDebugCoverageReport
Then, open the report index.html file to have a look at the coverage:
open android/build/outputs/reports/coverage/debug/index.html
Currently we are not measuring test coverage in iOS :(
Currently we are not measuring test coverage in JS :(
Run npm publish
to publish a new version of astro-sdk
.
To do a release of astro-client.js to our CDN on http://assets.mobify.com/astro/astro-client-X.X.X.min.js, run the following command:
grunt upload_astro_client
android/
- Contains the source code for the Astro Android libraryios/
- Contains the source code for the Astro iOS libraryjs/
- Contains the source code for the Astro JavaScript librarysandbox/
- Contains the source code for the demonstration sandbox (aka Catalogue).When you're developing an Astro application, there are a few key pieces of JS to know about:
app.js is your main entry point to developing an Astro project. This is where the main business logic of you application lives. The app logic is handled in a persistent WebView that lives throughout the lifecycle of your application. It's also the place where you import/require the different plugins that you need for your application.
A sample app.js
lives inside of sandbox/app/
.
You can learn more about how to build and develop the demo here.
astro-base.js is the module that allows communication between JavaScript and the native bridge. astro-client.js and astro-full.js extend from this module. In general, as a user of the Astro SDK you should never have to require this module directly.
astro-client.js is the library which provides the ability for web views to communicate with app.js.
astro-full.js is the library which provides the ability for app.js to communicate with native Astro components. It's the library that SDK plugin developers should import in order to create a plugin.
TODO
TODO
Most native plugins have a corresponding JavaScript plugin that you will use to instantiate and use different plugins in your app.js file.
All plugins can be found inside of android/src/main/java/com/mobify/astro/plugins
.
You can learn more about how to build and develop Astro plugins
here.
FAQs
Hybrid SDK
The npm package astro-sdk receives a total of 1 weekly downloads. As such, astro-sdk popularity was classified as not popular.
We found that astro-sdk demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.