日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java胜任理由_Java在几乎所有方面均能胜任本机响应

發布時間:2023/12/3 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java胜任理由_Java在几乎所有方面均能胜任本机响应 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java勝任理由

我與一位同事討論了Java與JavaScript的話題,這是一個有問題的話題。 然后他提到React Native多么出色,我決定我必須研究一下,也許要為Codename One掌握一些想法……

那里有一些不錯的主意,但是它們都不是革命性的或例外的,而且對于在Java 8中運行的Codename One開發人員來說,大多數都不是什么新鮮事。

我喜歡的一件事是React演示代碼看起來有多短,所以我將其移植到Codename One上,最終得到了大致相同數量的代碼,并且可以說是更好/更簡單的代碼!

退房的完整列表,在文章的結尾,或在github上的項目在這里 ,但讓我們首先回顧了為什么Java代碼是“更好”。

同步執行

JavaScript愛好者討厭這一點,但它仍然是一個事實,即同步代碼更易于閱讀,跟蹤和調試。 例如,這是獲取數據的代碼的React Native版本:

fetchData: function() {fetch(REQUEST_URL) .then((response) => response.json()) .then((responseData) => { this.setState({ dataSource: this.state.dataSource.cloneWithRows(responseData.movies), loaded: true, }); }) .done(); },

我有20多年的專業編程經驗,這仍然很難遵循。 顯然,如果省略done() ,您將不會得到任何錯誤處理?

它很奇怪且容易出錯。 我覺得這背后隱藏著許多代碼,這使簡潔性比簡化更為混亂(有點像通過Twitter進行政治辯論)。 對我來說,我們的代碼是這樣簡單:

react.add(BorderLayout.CENTER, new InfiniteContainer() {public Component[] fetchComponents(int index, int amount) {try {Collection data = (Collection)ConnectionRequest.fetchJSON(REQUEST_URL).get("movies");Component[] response = new Component[data.size()];int offset = 0;for(Object movie : data) {response[offset] = createMovieEntry(Result.fromContent((Map)movie));offset++;}return response;} catch(IOException err) {Dialog.show("Error", "Error during connection: " + err, "OK", null);}return null;} });

請注意,這與上面的代碼并不完全相同,因為我們還創建了組件,將它們添加到UI并處理所產生的錯誤! 比較公平的比較是:

try {Collection data = (Collection)ConnectionRequest.fetchJSON(REQUEST_URL).get("movies");... } catch(IOException err) {... }

這實際上是一行代碼,甚至可能更短,之后我們得到結果……沒有流程,沒有回調!

開發人員經常討厭Java的檢查異常功能,我必須同意它們有時會很痛苦(如果InterruptedException是愚蠢的),但這是為什么檢查異常很重要的一個很好的例子。 我們必須正確地處理錯誤,并且直到我們的代碼以這種可愛的“ TODO”注釋正式投入生產時,我們才不能忽略它,沒有人會打擾閱讀。

一種語言-更少的代碼

清單的大小大致相等,但是您會注意到react代碼在處理JavaScript代碼時會忽略本機特定于平臺的代碼。 我們的清單包含所有內容,不需要其他代碼,也不需要其他樣板,項目等。

React Native通過將標簽與JavaScript代碼混合來進一步有效地將聲明性代碼混合到常規流中。 是的,它縮短了代碼,但也消除了聲明式編程價值的很大一部分,即職責分離。

重新加載==應用代碼更改

可以通過重新加載來調試React Native,這在使用糟糕的 Android模擬器時會有所幫助。 幸運的是,Codename One不需要該模擬器,也不需要重新啟動應用程序即可重新加載已編譯的更改…例如,在NetBeans中,只需在調試器中使用“ Apply Code Changes”即可,您的更改將立即鏡像到正在運行的應用程序中。

腳本語言在“設備上”存在問題

這并不是“ React Native”特有的rant語,它與將JavaScript打包在應用程序捆綁包中的所有工具有關。 腳本語言非常適合網絡使用,就像“管道膠帶”一樣。 告訴我一個不喜歡膠帶的黑客!

發行帶有這種膠帶的應用程序的誘惑很大,但是與網絡不同,在Web上,您可以通過部署新的更新來修復生產中的“奇怪的未定義”錯誤。 使用應用程序時,您需要通過蘋果的審批流程…這意味著在您觀察評分下降時,仍會存在生產錯誤。

是的,單元測試,lint和許多其他解決方案應該可以解決這些問題,但是當您使用現代IDE時,由于嚴格的語言語法,它可以檢測到潛在的null推理,這真是太神奇了!

例如,關于JavaScript簡化問題的一個很好的例子就是這樣的代碼:

function reduce(var a) {if(...) {a = a - 1;} else {a = a + 1;} }

如果這是Java代碼,那么我們可以確切地知道這里會發生什么……在JavaScript中情況并非如此! 讓我們假設由于錯誤,只要條件為真(某種情況下在所有測試用例中都是這樣),a就是某種方式為"11"的字符串,那么它將像數字一樣起作用。 例如a將變為"10" 。 但是在生產中,如果條件由于某種原因變為假,則a將變為"111" 。 如果a代表某種有價值的東西(例如債務,信用等),那么在商店中有一個帶有此錯誤的應用可能真的很痛苦。

環境

React native使用本地開發環境,這意味著它需要Mac才能進行iOS開發。 這也意味著您需要在Android IDE中完成部分工作,在Xcode中完成部分工作,并使用文本編輯器來完成JavaScript工作。 讓我感到驚訝的是,開發人員愿意放棄30年的IDE演變以獲取一些語法上的糖果??? 我們是否受到Eclipse的傷害? 今天的IDE令人贊嘆,您可以通過單個IDE跟蹤/調試整個代碼這一事實非常寶貴。 我們團隊具有立即查看誰使用了什么軟件以及出于什么目的的功能,這真是令人震驚,我無法理解一個這樣的事情是如何由超過2個人的團隊使用的,尤其是在分散的員工隊伍中。

我喜歡JavaScript的地方

我真正喜歡使用JavaScript的一件事是使用JSON的便捷性,而在下面的代碼中,我將其大大減少到幾乎與它一樣優雅的大小。 我仍然不喜歡鴨子類型或腳本語言,但我真的很想將諸如屬性對象之類的東西添加到Codename One中,并改進集成的解析。

最后的話

我在簡潔的編程中發現的問題之一是,人們使用它來隱藏基本概念,以至于太多的事情以“不言而喻”的方式發生。 不幸的是,這使得簡潔的代碼像Tweet一樣易于閱讀,不幸的是,即使您需要表達一個中等復雜的想法,Twitter都不會削減它,而其中某些API就是一個大問題。

React native有它的粉絲,畢竟它可能比PhoneGap更好,PhoneGap有其自身的局限性。 但是,它仍然是腳本基礎架構的雞腿上的一個有限的概念。 與Codename One相比,它沒有真正的優勢,并且存在一些明顯的潛在問題。

Java清單

public class ReactDemo {private static final String REQUEST_URL = "https://raw.githubusercontent.com/facebook/react-native/master/docs/MoviesExample.json";private Form current;private EncodedImage placeholder;public void init(Object context) {UIManager.initFirstTheme("/theme");}public void start() {if(current != null){current.show();return;}placeholder = EncodedImage.createFromImage(Image.createImage(53, 81, 0), false);Form react = new Form("React Demo", new BorderLayout());react.add(BorderLayout.CENTER, new InfiniteContainer() {public Component[] fetchComponents(int index, int amount) {try {Collection data = (Collection)ConnectionRequest.fetchJSON(REQUEST_URL).get("movies");Component[] response = new Component[data.size()];int offset = 0;for(Object movie : data) {response[offset] = createMovieEntry(Result.fromContent((Map)movie));offset++;}return response;} catch(IOException err) {Dialog.show("Error", "Error during connection: " + err, "OK", null);}return null;}});react.show();}Component createMovieEntry(Result data) {Container entry = BorderLayout.center(BoxLayout.encloseY(new SpanLabel(data.getAsString("title"), "Line1"), new Label(data.getAsString("year"), "Line2"))).add(BorderLayout.WEST, URLImage.createToStorage(placeholder, data.getAsString("id"), data.getAsString("posters/thumbnail")));return entry;} public void stop() {current = Display.getInstance().getCurrent();}public void destroy() {} }

翻譯自: https://www.javacodegeeks.com/2015/11/java-is-superior-to-react-native-in-practically-every-way.html

java勝任理由

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的java胜任理由_Java在几乎所有方面均能胜任本机响应的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩欧美国产一区二区三区在线观看 | 女同vk| 日本99热| 精品人妻无码一区二区性色 | 日本新japanese乱熟 | 成人av在线网址 | 国产免费aa | 九九色| 不卡视频在线观看 | 国产毛片毛片毛片毛片毛片毛片 | 神马久久久久久久久 | 国产福利免费 | 大肉大捧一进一出好爽动态图 | 久久久www| 99国产精品无码 | 中文字幕久久综合 | 奇米影视首页 | av88av| 自拍欧美日韩 | 综合精品久久久 | 2019国产精品视频 | 久久久精品视频在线观看 | 99精品99 | 69av网站| 免费av电影网站 | 99久久国 | 一级a性色生活片久久毛片 爱爱高潮视频 | 国产性生活毛片 | 桃谷绘里香在线播放 | 国产丝袜精品视频 | 中文幕无线码中文字蜜桃 | 成人免费精品视频 | 国产伦理吴梦梦伦理 | 91.xxx.高清在线| 国产精品一二 | 国产免费一级视频 | 高清av一区 | 亚洲国产天堂 | 午夜精品一区二区三区在线播放 | 最新av网址在线观看 | 欧美一区二区福利 | 久久精品国产欧美亚洲人人爽 | 成人精品影院 | 成人在线视频观看 | 欧美少妇色图 | 精品国产一区二区三区久久狼黑人 | 久久午夜神器 | 日韩精品一区二区免费视频 | 亚洲欧美偷拍一区 | 在线观看日本视频 | 浓精喷进老师黑色丝袜在线观看 | 欧美日韩不卡视频 | 国产乱码一区二区 | 免费在线黄 | 国产精品无码免费播放 | 色乱码一区二区三区在线男奴 | 性欧美久久 | 91传媒在线视频 | 手机av网址 | 在线观看三级网站 | 青草视频在线 | 欧美一区二区三区在线免费观看 | 日日噜噜夜夜爽爽 | 6699av| 欧美亚洲另类图片 | 欧美日韩3p | 在线观看av资源 | 曰韩一级片 | 国产原创视频在线观看 | 女人高潮娇喘1分47秒 | 添女人荫蒂视频 | 欧美日韩高清一区 | www黄色大片 | 97人人爽人人爽人人爽人人爽 | 免费日韩av | 国产做爰xxxⅹ高潮视频12p | 少妇把腿扒开让我舔18 | 欧美生活一级片 | 欧美日韩伊人 | 日韩激情小视频 | 亚洲一区二区偷拍 | 17草在线 | 亚洲一区在线看 | 日本公妇乱淫免费视频一区三区 | 青青网站 | 在线免费观看成年人视频 | 大陆av在线播放 | 中文在线a√在线 | 就去吻综合 | 中文在线√天堂 | 美女的奶胸大爽爽大片 | 天堂国产在线 | 神马午夜我不卡 | 蜜桃av噜噜一区二区三区小说 | 激情欧美网站 | 五月婷婷天 | 91视频麻豆| 黄色日韩在线 | 国产精品国产馆在线真实露脸 |