Alex Amato
Alex Amato

Reputation: 1591

How to write a virtual keyboard and share it between android, ios and a web app

Can this be done with any of the popular multiplatform native app development tools? React Native, Angular with Nativescript, etc. Is there another approach you would suggest?

I'd like it to be a first class keyboard for Android and ios and an inapp keyboard for web.

Basically I have an idea for a custom keyboard for domain specific communication. I want to get something running and play around with it and test out new ideas. And I'd like to use it in my daily life for texting on my phone and my PC.

I want special buttons thay type whole terms/sentences. A search feature on the keyboars for the terms/sentences, etc.

Upvotes: 1

Views: 283

Answers (2)

Manoj
Manoj

Reputation: 21908

I don't think it's possible to write once that runs everywhere at least when you want to customize / build your own virtual keyboard. Because iOS and Android has it's own api definitions to customize keyboard.

Using either ReactNative or NativeScript, it's possible to achieve what you are looking for if you have good understanding of writing native plugins in these platforms.

I would recommend NativeScript over ReactNative as NativeScript is one supports the concept marshalling, so you still use JavaScript as your programming language to directly access any native apis. TypeScript definitions for native apis makes it even more easier for web developers.

Unlike in ReactNative you must jump between JavaScript / Objective C / Java to write a plugin if you want to access any native api or component that is out of box.

I know this is not the exact answer you are looking for, but I believe at least you can choose a platform of your comfort based on this information.

Upvotes: 0

Gaurav Garg
Gaurav Garg

Reputation: 1

You can use React Native Everywhere to develop a virtualize keyboard.Just go through this library, its really simple if you just have some idea of react or react native

Upvotes: 0

Related Questions