Installing Ionic IDE on Raspberry Pi?

Hello,
I’m very new to Ionic, and I’m (ironically) trying to help other newbies get started quickly with Ionic. Does it make sense to install Ionic on a Raspberry Pi 3, do a couple of example projects, and then make an image of the Raspberry Pi SD card to distribute to others? The idea is that they can get started right away with editing the example project rather then spend the entirety of a workshop installing the development environment.

It’s all about speed to developing that first app. What kinds of things would still make this difficult? To make APK’s to install on Android devices (not worried about iOS), are there custom things that are needed for each brand of Android phone? For example, I’d like to develop a BLE app (scans for known service, connects to service and reads a characteristic). Is there a phone-specific aspects of interfacing with the BLE API on different phones, or does Android’s Bluetooth API pretty much abstract that enough that it generally works across Android up to a certain OS version?

I’m trying to gauge how realistic it is to be able to make a Raspberry Pi image for students to develop apps on that they can actually make working API’s for their Android phones.

Edit: additional question: Would Raspbian or Ubuntu be better for this?

Thanks,
Eric

I do like this idea - not sure in practice how practical it is knowing Rasberry Pi has a slew of IDE’s and tools mainly based around Python (but not exclusively).

I know it’s possible to install VS Code on Pi but I think you have to compile from code (that may no longer be the case, wouldn’t be surprised if you could get the binaries direct).

Rasberry Pi sits more in the desktop space as opposed to mobile which is more where Ionic’s heart lies - but by no means should that be a problem. Looking at the Cordova logs compiling for Ubuntu is easy enough…

https://cordova.apache.org/docs/en/latest/guide/platforms/ubuntu/index.html

Would be interested to know how you get on.

Oh, I re-read my own post and I wonder if I was confusing. I don’t mean to run mobile apps on Raspberry Pi. I meant just install the Ionic development environment on the Raspberry Pi.

The problem I’m trying to solve is the 2-4 hours of installation it takes to get going on Ionic development. So pre-install Cordova, Ionic, and Android Studio and everything else needed to develop Ionic apps and package it all on a SD card image. In a class with 15 students and different laptops they’re bringing, it’s really hard to trouble shoot installations issues. After hours of work, not one line of the Ionic app would have been developed yet. We’re not looking to make mobile app developers. We’re looking to build IoT projects, and the mobile app portion is only a part of an entire end-to-end architecture. Time spent on the tool and toolchain is time taken out of the actual project. I’d much rather my students expend their grit on the project rather than the tool. Anyways, that’s been my perspective.

Aha bummer.

Preferred your first vision :worried:

Try it. Not sure how much of a resource hog it would be with vscode and a bunch of browser tabs open.

I think this could probably be done more simply and cheaply with just a bootable LiveCD ISO that could be imaged to a USB stick and distributed to students. Here is what looks to be a fairly comprehensive tutorial on how to build one with debootstrap.

Basically, you are creating a chroot environment in a directory, then once you chroot into it you would install all your toolchain stuff and sample projects. Once you’re happy with it, you burn it into a bootable ISO image. A student could just plug it into any PC and boot off of it.

I guess the biggest concern would be whether you would have enough writeable space in the ramdisk to actually be able to run the toolchain or whether you would need to have some sort of writeable partition on the host PC.

2 Likes

Hello…as per my knowledge It tries to make development easy by abstracting away all the complex bits. It can use my Java pigpio JNI wrapper library or indeed pi4j for doing the actual low level device communication.
For messaging have you considered MQTT? I have an example where I use MQTT to transmit IMU data to a remote Javafx application.
I always develop in Eclipse on my laptop and transfer JAR files over, Eclipse even has a nice remote systems plugin for interacting with remote UNIX systems like the Pi.

low cost pcb assembly services

I hope it is not to late to contribute.

I will suggest you provide a package of virtual machine image with everything installed (Android SDK, Node, Ionic CLI etc), then distribute it to the students through cloud (FTP). In some company, this is a practice to help the new staff to begin with development as soon as possible.