2017-08-08 115 views
0

我正在使用BLE與自定義設備連接的新應用程序。我在Swift中編寫了一些解析器,它可以獲取字節數組(我從外設獲取)並將其轉換爲對象。我在iOS應用中使用這些對象來做一些UI更改。在離子項目中使用Swift庫

未來我想添加對Android的支持。

我打算使用Ionic爲Android和iOS製作可共享的用戶界面,但是我的解析器出現問題。我應該怎麼做:

  1. 是否有可能使用Swift庫作爲iOS和Android的Ionic第三?怎麼樣? (我的解析器不使用iOS SDK,這是明確的業務邏輯)
  2. 我應該用Java編寫我的解析器並同時使用Swift和Java嗎?
  3. 任何其他方式來重用我的分析器代碼? C/C++?還有別的嗎?
+0

有了'Kotlin'和'Swift'的相似性,我會考慮爲解析器維護這些。他們之間可能有一些自動轉換。 –

+0

是的,但我需要保留兩個版本的解析器 –

+0

如果你用純'C'編寫解析器,那麼創建Swift模型對象會有一些開銷。如果你沒有任何使用它的第三方庫,請遠離'C++'。我確實認爲將'Java'搭橋到'Swift'完成這樣的任務會是一件大事,我會選擇更加輕量級的東西,比如'Python'。 –

回答

0

如果你想在兩個平臺iOS和Android上使用相同的解析器代碼,你必須在應用程序的混合部分實現它,無論是javascript還是typescript。我不知道任何使用Swift for Android或Java for iOS的方式。有可能在C或C++中創建解析器,並將其編譯爲Android的.so lib和iOS的.dylib,但在離子/科爾多瓦應用程序中這樣做總是很痛苦,需要處理許多缺陷。