DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. NativeScript, Sensors, and Modern Applications

NativeScript, Sensors, and Modern Applications

In this post we take a look at several examples of how Native Script and various Sensors are coning together to change to the mobile development industry.

Eduardo Pelegri-Llopart user avatar by
Eduardo Pelegri-Llopart
·
Mar. 09, 17 · Opinion
Like (1)
Save
Tweet
Share
4.36K Views

Join the DZone community and get the full member experience.

Join For Free

Modern applications use a growing array of sensors to deliver new functionality. Platforms like OpenEdge, Telerik Platform, NativeScript, and others can help you take advantage.

Modern applications are increasingly leveraging a multiplicity of sensors to connect the physical realm to the traditional software realm to gain multiple benefits, from efficiencies of operation to security and safety, to new functionality.

Here are some real-life examples:

  • Sensors like RFID Tags allow Zara, the largest retail apparel in the world, to track their inventory accurately and in real-time, from the time it arrives in the trucks to the time it leaves with a customer, providing asset control, inventory availability, smart sale recommender, connection to social media, automatic reorders, and more.
  • An Industrial Equipment Vendor like TVH can track use data from GPS and ODBII sensors to track cars, their use, speed, acceleration and deceleration, gas consumption, battery status, and reduce operating costs from energy to maintenance to insurance.
  • Kingslake, a Progress customer in Sri Lanka, provides an application for managing the transportation of employees to factories using independent mini-bus operators. The employees use NFC tags to identify themselves to the operators which read them using rugged Android devices that can then use GPS data and connect to the backend to validate routes, provide accountability, even notify the factory if an employee won’t show up for their shift.
  • An event, like our own ProgressNEXT or the CSUMB Capstone Festival, can use a combination of RFID tags and readers and iBeacons, mediated through Mobile Applications, to provide personalized event information as well as tracking, logging and authorizing event data.

In the above examples, the server side services can be created on top of platforms like Rollbase, Xervo, and the Telerik Platform, using data services like ProgressOpenEdge, and many SaaS services. These typically will interact with the clients through internet standards like HTTPS and Web Sockets. The sensors themselves are part of, or interact with, mobile devices like smartphones and smart watches, and fixed devices like readers and instruments, smart door locks, access control readers, etc.

There are a few key OS platforms for these devices. The smallest sensors still run in “traditional” Real Time Operating Systems. A number of handhelds and instruments used to run on Windows CE, but Microsoft has ended its life transitioning to Windows 10 IoT. Many mobile devices are increasingly based on Android, while fixed devices are moving towards Linux – and Android Things was just announced.

NativeScript is particularly well-suited to this space. NativeScript today runs well on iOS and Android (see note below) and provides very efficient and timely access to any platform features, including new libraries created to access the sensors. The NativeScript metadata-driven machinery exposes these libraries at the JavaScript level and then they can be wrapped through a Plugin into a cleaner abstraction. This means that JavaScript and CSS developers can then write applications leveraging these sensors.

Note - Beyond iOS and Android, Progress/Telerik also has been doing work on the NativeScript port for Windows Universal (for Tablets and Desktops), and there is a separate project on porting it to Linux leveraging GitHub Electron Shell.

Here are some links to recent projects that are built on this setup:

  • The Invengo XC-1003 is an Android (KitKat)-based mobile RFID reader. The RFID reader is available to Android apps but Mehfuz wrote a NativeScript Plugin on top of it, and then a simple App using it. Check out the blog post, the video, and the GitHub repo. The App mimics a retail situation and is actually using 4 plugins: a RFID Reader, an iBeacon Reader (also written by Mehfuz), Google Maps, and SQLite for local storage, as well as checking with a (node.js-based) service for content.
  • An App for Fleet Management that uses the Bluetooth APIs to talk to an ODBII BLE sensors (like this one), and which can then present the car data, or push it to the cloud. Check out the blog post, video, and GitHub repo.

We also have done several variations of an App to support Apps:

  • A simple Meetup App where RFID tags are attached to Badge Holders and then are used to track attendance and to run a raffle. Check the blog post.
  • Another, more complex version of the RFID setup was used at the ProgressNEXT 2016 event in Las Vegas. The ProgressNEXT application did more sophisticated server-side processing using the AMTech IoT platform. See the post.
  • The latest version used both RFID tags (using the AMTech Platform) and iBeacons (via a plugin) and was used in the CSUMB Capstone festival.
  • Finally, the setup is identical to the one used by Kingslake in the employee transportation project mentioned at the beginning of this write-up. Kingslake is currently using a Native App for the client used by the Android smartphone, but it will be straightforward to replace it with a more capable NativeScript solution.

Our TODO pile includes two other projects:

  • A Plugin for the Keonn AdvanReader 10, which is a flexible USB-connected RFID reader that can be used from an Android device. This would be very suitable for retail.
  • Running a NativeScript application directly inside a ThingMagic Sargas (blog, product page). This would require using the advanced built for NativeScript that is built on top of GitHub Electron Shell.

Conclusion

The future belongs to this class of applications: fully connected in real-time to our world, with substantial computational power – able to run the new AI algorithms, including Machine Learning, and connected to the internet and our enterprises' assets. NativeScript is an excellent tool to use in this environment.

mobile app NativeScript Android (robot)

Published at DZone with permission of Eduardo Pelegri-Llopart, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How To Best Use Java Records as DTOs in Spring Boot 3
  • Accelerating Enterprise Software Delivery Through Automated Release Processes in Scaled Agile Framework (SAFe)
  • How To Build an Effective CI/CD Pipeline
  • Strategies for Kubernetes Cluster Administrators: Understanding Pod Scheduling

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: