How to parse html in KMM? - kotlin

I'm making a multiplatform app for Android and iOS. I need to parse the HTML page. On android I could use Jsoup, but Jsoup does not support KMM. What should I use better? Or do I need to write two implementations for Android and Ios?

Related

API documentation for KMM modules?

I am using KMM for writing the business logic and further exporting to native ios, Android, and JS libraries. I followed the Dokka` documentation to write the documentation which is working perfectly fine for me.
However, Is there a way to convert the dokka-generated doc-generated into native library syntax such as ios, android, and js?

Video Call in Ionic and Overlay Screen In Ionic Application

How can I integrate Mesibo Video APIs in Ionic? Gone through the docs but couldn't see anything IONIC specific.
Is there any IONIC Demo Application ?
Is there any other way to use Mesibo Android sdk in Ionic application?
I want to implement video call overlay screen concept where 'while one to one video call in place and user can work on all the application pages in parallel'. Please let know if this feature can be implemented in Ionic application using Mesibo APIs.
mesibo provides native APIs for Android (Java & Kotlin), iOS (obj-c, Swift), C++, Javascript, and Python. You need to write a plugin if you like to using mesibo (or any native android library) from ionic
https://cordova.apache.org/docs/en/latest/guide/platforms/android/plugin.html

Capture "call end" event using Ionic, React Native, NativeScript, and Flutter?

The scenario:
For both iOS and Android, capture a "call-end" (hangup) event.
Use the captured event to trigger an options window.
What would the differences be to do this using Ionic, React Native, NativeScript, and Flutter?
Implementing a feature for Ionic, ReactNative, and Flutter are more or less same. You must probably write a plugin where you will have to implement the feature in native languages (Objective C / Java) and interface them with JavaScript for Ionic & ReactNative / Dart for Flutter.
But it's quite different with NativeScript as it has a JavaScript runtime that has 100% access to all device apis. You may write a plugin if you are willing to reuse the code or just directly access any api within your project using just JavaScript. If you use TypeScript, life will be even more easier with the typings for all the native apis.
Here is a video that briefly discusses the differences between these platforms.

Why do react-native packages use native SDKs and not JS/web versions?

Purely informational question, not really a problem but:
I remember following the instructions and seeing that there were some steps to get the react-native-fbsdk working. These steps involved messing with my android build.gradle and adding the iOS SDK and the info.plist and whatnot. That aside, why doesn't Facebook utilize the javascript SDK? Is it not possible? If so, why is it not possible for Facebook to do this? If it is possible, why did they opt to utilize the both the android and iOS SDK?
One value prop of React Native is that it's not just an HTML 5 website embedded in a native wrapper. It literally uses the native APIs/components, and the same goes for SDKs. Technically, a pure JS SDK could be optimized for a browser experience, rely on window or document, and while the functionality might be able to be executed natively, the polyfills provided in RN might not be enough to cover the implementation. The way it makes API calls are probably different too. The views are different too (no DOM in RN), so that would apply for any SDK views (button?).
I just finished converting an iOS SDK to a React Native package and I feel that the implementation will be more inline with how the original iOS SDK was designed, since it's using those methods under the covers instead of pure JS. JS is just invoking the native methods, not taking over the methods.
Just my $0.02...

I'm confused about the tools/frameworks for mobile web app development

I'm confused. What are the differences between Sencha, Titanium, and Cappuccino?
(I'm assuming you're talking about Appcelerator Titanium.)
Probably the biggest difference is the language used. Cappuccino uses a language called Objective-J, which is VERY similar to the Objective-C language used for native Mac and iPhone/iPad apps, but then gets compiled into Javascript for a web app. The other two use HTML/JS like a native web app.
Also, there's the big question of what the application actually looks like on a mobile platform, and what features it can access. Cappuccino and Sencha, AFAIK, allow you to design web apps that are optimized for mobile. But, since they're just glorified web pages, they won't be able to get things like accelerometer or GPS data; they aren't native iPhone or Android apps. Titanium, however, compiles to a native iPhone or Android app and allows you to do those things. Titanium can also compile to a native desktop application.
Hope this helps!
Sencha is the web-based javascript framework to develop webapp. You must use Sencha with other platform such as PhoneGap in order to run this webapp in iPhone / Android. There are many web-based javascript framework like Sencha such as jQuery Mobile, Magic Framework, xUI...
Titanium is different. It also use Javascript for develop app. But Titanium will compile these javascript to objective-C code. It mean when using Titanium, you develop native app, not webapp as PhoneGap.