自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么谷歌公司一直沒能讓Android開發(fā)步入正軌?

譯文
移動開發(fā)
如今已經(jīng)是2015年,移動領(lǐng)域成了新的技術(shù)前沿,而我們似乎已經(jīng)從混沌不堪的舊日噩夢當(dāng)中逐漸解脫了出來——是的,主流網(wǎng)站原先在向主流移動設(shè)備交付內(nèi)容時的糟糕表現(xiàn)如今仍歷歷在目,而每一位開發(fā)人員應(yīng)該也還記得當(dāng)時那令人絕望的混亂情景。如果Web開發(fā)代表著上世紀(jì)九十年代的一切臟亂差元素,那么如今的移動開發(fā)則正是新紀(jì)元下丑陋效果的新載體。

內(nèi)容簡介

如今已經(jīng)是2015年,移動領(lǐng)域成了新的技術(shù)前沿,而我們似乎已經(jīng)從混沌不堪的舊日噩夢當(dāng)中逐漸解脫了出來——是的,主流網(wǎng)站原先在向主流移動設(shè)備交付內(nèi)容時的糟糕表現(xiàn)如今仍歷歷在目,而每一位開發(fā)人員應(yīng)該也還記得當(dāng)時那令人絕望的混亂情景。如果Web開發(fā)代表著上世紀(jì)九十年代的一切臟亂差元素,那么如今的移動開發(fā)則正是新紀(jì)元下丑陋效果的新載體。

正如已經(jīng)為Web開發(fā)者們?nèi)f夫所指的IE一樣,Android如今就扮演著移動開發(fā)者眼中的新IE角色。谷歌公司利用自己的全部資源將其推上了市場占有率***的寶座,而這位山丘之王的地位似乎已經(jīng)不可動搖。而如果想要開拓移動市場,那么忽略Android平臺在商業(yè)角度看無疑屬于自殺行為。

Android開發(fā)弱爆了。

Android開發(fā)機制一直可謂頑疾纏身。程序員們通常不愿意在Android平臺上開發(fā)應(yīng)用,因為他們需要考慮的太多——正如當(dāng)初Web開發(fā)者厭惡IE一樣。

互聯(lián)網(wǎng)上已經(jīng)有無數(shù)博客提到,眾多開發(fā)人員由于被迫在Android平臺上搞開發(fā)而不得不忍受著無盡的折磨。不用多說,相信每位有此經(jīng)歷的朋友都能體會得到。

從安裝到環(huán)境設(shè)置、愚蠢而又設(shè)計過度的工程SDK、設(shè)備碎片化,就連說明文檔都沒法在內(nèi)容上達(dá)成統(tǒng)一,這一切都讓我頭痛欲裂。我不想在今天的文章中再勾起我個人或者說大家的痛苦回憶,相反,我希望通過其它方式來闡述這種狀況。如果我告訴大家,Android開發(fā)本不必如此惱人,結(jié)果會怎樣?如果我告訴大家,還有其它的實現(xiàn)手段,結(jié)果又會怎樣?

另一種方式,Python的方式

如果我們能夠通過幾條簡單的命令就完成環(huán)境的整體設(shè)置,大家是不是會覺得非常振奮?

  1. sudo add-apt-repository ppa:kivy-team/kivy 
  2. sudo apt-get update && sudo apt-get upgrade 
  3. sudo apt-get install python-kivy 

如果無需再安裝臃腫的IDE并加以配置,而是直接在文本編輯器當(dāng)中打開代碼內(nèi)容并加以修改(使用更為簡潔清晰的語言),大家會不會為之歡呼?

  1.  import kivy 
  2. from kivy.uix.widget import Widget 
  3. from kivy.app import App 
  4.   
  5.   
  6. class HomeScreen(Widget): 
  7.   
  8.   
  9.     def button_clicked(self): 
  10.         self.ids.home.counter += 1 
  11.         self.ids.label1.text = "you clicked " + str(self.ids.home.counter) + " times!" 
  12.   
  13.   
  14. class MyApp(App): 
  15.   
  16.      
  17.     def build(self): 
  18.         return HomeScreen() 
  19.   
  20.   
  21. if __name__ == '__main__'
  22.     MyApp().run() 

如果在需要建立一套圖形用戶界面時,大家只需要使用簡潔而明確的DSL即可實現(xiàn),又將如何?

  1. <HomeScreen>: 
  2.    BoxLayout: 
  3.        orientation: 'vertical' 
  4.        size: root.width, root.height 
  5.        id: home 
  6.        counter: 0 
  7.         
  8.        Label: 
  9.            id: label1 
  10.            text: 'Hello World!' 
  11.  
  12.        Button: 
  13.            id: button1 
  14.            text: 'click me!' 
  15.            on_press: root.button_clicked() 

如果在需要運行應(yīng)用成果時,只需要直接運行即可而無需借助什么勞什子模擬器,聽起來怎么樣?

  1. python main.py 

如果在需要對應(yīng)用成果進行部署時,只需要接入自己的移動設(shè)備并使用以下簡單命令,聽起來怎么樣?

  1.   sudo apt-get install python-pip 
  2. sudo pip install buildozer 
  3. buildozer init 
  4. buildozer -v android debug deploy 

如果想要把應(yīng)用成果部署到iOS時只需輕松使用以下命令,又如何?

  1. 1    buildozer -v ios deploy run 

這絕不是什么夢想,事實上Kivy與Python如今都能夠?qū)崿F(xiàn)上述目標(biāo)。另外,得益于高層API的幫助,利用它們甚至能夠?qū)崿F(xiàn)訪問GPS等操作——而且正如任何出色的API一樣,這一切都能夠以抽象方式完成。

總結(jié)

Kivy是一套夢幻般的跨平臺多點觸控GUI編程項目,它正是我理想當(dāng)中移動開發(fā)工具應(yīng)該有的樣子。簡單直接、開發(fā)輕松以及部署便捷。而且不用擔(dān)心,大家完全可以利用它建立起出色且同時能夠跨平臺運行的應(yīng)用程序。

既然如此,為什么谷歌就不能自己弄出一套同樣理想的方案呢?請牢記下面這句話:

任何一個聰明的笨蛋都能以規(guī)模更大、更復(fù)雜且更暴力的方式解決問題。但要以相反的思路拿出辦法,則需要天才與勇氣的結(jié)合。(愛因斯坦)

相信總有一天移動開發(fā)工具會具備Kivy的全部優(yōu)勢,但卻以原生且無需調(diào)整的方式存在。而且當(dāng)這一天到來時,它會成為新的山丘之王——它登上寶座靠的不是巨頭企業(yè)的全力推動,而是開發(fā)人員的堅定擁護。

責(zé)任編輯:chenqingxiang 來源: 51CTO
相關(guān)推薦

2022-04-21 10:53:16

企業(yè)并購IT人才

2020-05-28 11:25:55

AI 數(shù)據(jù)人工智能

2025-02-13 10:09:35

2010-10-20 11:06:27

公司

2015-09-15 17:01:59

2021-03-31 10:25:03

手機蘋果內(nèi)存

2018-03-21 09:09:57

區(qū)塊鏈

2020-05-20 14:40:15

Redis多線程單線程

2019-09-19 10:49:52

微服務(wù)架構(gòu)SOA

2014-06-25 09:31:53

Android谷歌

2024-09-29 15:36:25

2022-02-22 07:53:30

Windows 11Windows 12微軟

2021-08-01 22:32:59

加密貨幣貨幣比特幣

2014-12-29 12:15:56

Gmail

2021-12-12 22:36:47

手機屏幕雙面屏

2012-05-18 00:01:07

JVMJavaJVM平臺

2022-12-19 07:33:49

開發(fā)人員谷歌制度

2012-11-30 10:07:49

大數(shù)據(jù)云儲存數(shù)據(jù)挖掘
點贊
收藏

51CTO技術(shù)棧公眾號