寫雙平台app的困難處


上面這段code在寫啥?實在讓人搞不懂....
這是一段ios app swift code.
其實我覺得code不該寫的太複雜,應該分步驟做比較好。

其實他是在講closure的應用,建立一個closure, 輸入兩個字串型態值s1,s2,若s1>s2,回傳true, 最後 再 排序陣列,回傳一個陣列。

很難對不對,第一個你要知道陣列在swift中有sorted這方法,
然後swift2 又不同於swift4.

第二就是closure的使用.

這在java是完全不同的,沒有這用法。
(有點像inner class,但又不一樣)
所以當你問一個app工程師為啥。。。
你只會寫java android ,不會寫ios app?
或是
你怎麼只會寫ios app不會寫android app?

這些都是很簡單的可以回答你:
1.兩者程式語言完全不同,平台api不相似,app工程師都要重學,app也都要重寫,時間都要花兩倍以上,而且花時間還不一定做得出來。
2.如果有人說他兩個都會寫,第一個可能他都只會寫helloworld,功力一定都不深,吹牛成分居多,要欺騙你不懂。但也有可能真的很厲害,看他實際寫出的app就會知道,如果一直當機,然後又愛說一堆理由搪塞,大概只是三腳貓功夫而已。

在看看第二段code:
class MyViewController : UIViewController {

    override func loadView() {
...

 func greeting() {
            print("hello world")
        }
        
        let hi = greeting;
        hi();
...
}

在java中不能宣告一個function成一個變數。
但在swift中可以,
很容易導致程式設計師觀念上衝突。
這還只是最簡單的一個例子,還有很多類似的衝突。

但是你不可能叫apple 改用java,
也不可能叫google改用swift.
尤其現在又遇到oracle拿 java到處告人的情況下...

這也造成數以億計的工程師只有學兩套,
無奈的嘆息。

所以我才說寫程式沒有辦法速成的,
都要一點一滴累積經驗才可以。
不要相信補習班説三個月學會andorid或ios app.
那些都是噱頭。
如果是寫寫簡單的程式還可以,
但一遇到複雜的問題就無法處理了。

這些都是要練功的,寫個幾個app後才有可能慢慢熟悉,
有門檻,不是隨便說說就可達到。


留言

這個網誌中的熱門文章

最爛的銀行服務-玉山銀行

Mark App Design Apps - Terms and Privacy Policy (服務條款,隱私權政策)

SMR疊瓦式hdd致命缺陷被解決????!!!

ios app 上架時app icon要注意事項

更改google drive預設存放目錄位置Change Google Drive Default Folder Location in Windows

google play 正式發布前測試報告...非常好用.

舊有app在Android 12 閃退問題& app Splash screens

app bundle and bundletool. 關於aab安裝問題

關於google play console app應用程式簽署

Google Play badge徽章產生器