一段程序代碼寫完以後是如何轉換成有操作界面的軟件的?

電影夢工廠6516


c語言(其他語言類似)

  • 第一步:打開終端,在某個文件下建立一個文件1.c。

touch

1.c (Linux系統下創建文件)

  • 第二步:打開

    1.c

    編輯文件,用的是vim,也可以使用gedit。(下載vim:sudo apt-get install vim)
  • 第三步:輸入i鍵開始編輯,輸入以下字母,最後依次按下esc,:,wq(可以先去看下vi的相關命令)。

  • 第四步:用gcc編譯器編譯

    1.c

    文件代碼,生成

    .exe

    後綴的可執行文件(gcc 的下載:sudo apt-get install gcc)

gcc -o 1

1.c

  • 第五步:輸入./1,輸出 “hello world!!”


三年起步


我是從事安卓APP開發的,這裡就用安卓舉例說明下我們的代碼是怎麼變成可視化界面的。

安卓編程<strong>代碼

安卓早期採用java做為第一編程語言,現在是主推kotlin,還可以用flutter或者其他混合框架開發,這裡不做多介紹。

上圖是簡單的控件展示,基本涵蓋主要的交互功能。文字的大小顏色包括控件的間距都是可以通過代碼調節。

圖中的控件是谷歌編寫好的,開發者可以直接使用,如果這些控件滿足不了需求,你還可以自定義控件通過canvas實現。

通過源碼可以知道,其實谷歌提供的這些控件也都是自定義控件。

那麼java層面的代碼是不能轉換成可視化的界面的,那安卓是怎麼實現的呢?

其實是通過調用底層(C語言)接口實現的。

底層(C語言)接口

我們自定義控件使用的就是最上面的

canvas.java

類實現的,最終會調用到底層的

libskia.so

文件,所以java層面的canvas實際上是封裝的native層的方法。

可以這樣理解,java層只是描述界面,具體實現由native層實現。

那麼native層是怎麼實現的呢?安卓底層使用C語言編寫,裡面有個SurfaceFlinger類,這個類獲取界面寬,高,點密度,顏色分量的大小等信息後,交給硬件幀緩衝區去。

硬件幀緩衝區屬於硬件驅動範疇了,超出了本人知識結界,這裡就不BB了。

總結

不用設備有不同的圖形驅動,編碼只是實現界面的形狀大小等描述,最終都會交給圖形驅動層去渲染。編碼層是為了更好的方便開發者。


非著名攻城獅


關於程序代碼是如何轉換成界面的,我們需要明白一點原理。

最早期的系統,還沒有圖形界面這個概念,電腦上的各種操作,都是通過命令行來完成的,類似於現在系統中的cmd窗口,所有的命令都在這裡面完成。

隨著後續的發展,圖形化操作系統誕生。傳統的字符界面操作複雜,非專業的用戶難以理解和操作。在圖形用戶界面中,用戶不需要學習複雜的代碼,而是可以通過其中的圖形對象進行操作,電子產品收到操作指令後,對用戶進行結果的反饋,反饋的結果即用戶接收到的信息也是圖形對象,因此用戶無須具備專業知識和操作技能就能夠實現操作。作為一種界面顯示格式,對於非專業用戶來說,GUI設計極大地方便了其操作。


這兒引入了一種叫做GUI編程的概念,圖形用戶界面系統通常是指由相應硬件平臺和操作系統支持的顯示模型,窗口模型和用戶模型,以及由這三個模型的應用程序接口組成的應用程序接口API(Application Program Interface),要想創建一個圖形化的界面,就需要我們使用代碼去調用系統提供的API,通過命令去創建一個窗口,一個按鈕等等。


我們使用代碼生成窗口,在窗口裡面再生成其他的組件,實際上都是調用了系統給我們提供的命令。

現在編程語言很多,大部分的編程語言都有封裝的命令,供我們調用,然後再由系統,統一的生成我們需要的界面。


一個果核


現今的有界面的軟件可以分為以下幾類:

手機APP

這類因為有android和iphone系統的區別,所以開發也有所區別。

安卓手機:你需要下載android SDK和代碼編輯器(eclipse,vs,android studio)。然後編輯代碼,完成運行測試,你就可以在安卓模擬器中看到你編寫的界面了。

蘋果手機:你首先需要一臺蘋果電腦(至少要能運行蘋果操作系統的電腦),然後在下載開發工具Xcode。最後編寫,運行測試。

電腦桌面軟件

PC端的話,如果不考慮在多平臺做適配(window,linux,mac os)的話,你完全可以找一種帶有桌面GUI的軟件開發。以window為例,你可以直接用visual studio編寫一個帶GUI的桌面軟件,然後直接點擊運行,你就可以看到界面了,當然如果你選擇是python,你可能需要一些其他GUI庫的支持。

網頁端

這類只要有一臺WEB服務器,就能使你用文本文件編輯的代碼直接顯示在瀏覽器上。當然如果你還有腳本功能(後端服務),你就可以做出像網站後臺管理功能的系統出來。


李老師tome


首先非常感謝在這裡能為你解答這個問題,讓我帶領你們一起走進這個問題,現在讓我們一起探討一下。

首先,代碼需要根據你使用的是什麼編程語言。這個就很多了,比如C#,java,python等等。這只是編程需要,當然你還需要用到編程工具,這裡我舉個例子:比如VS,它是微軟最新的開發工具。

編程語言和編程工具,我們都有了,就可以編寫代碼。當然你要會。做的過程中,可以用圖片,圖標等素材去搭建我們要做出來的軟件界面。這個界面是可以隨時編譯看效果的。

最後,軟件調試完畢就要打包或者叫生成一個可執行的文件。舉個例子:xxx.exe。這樣一個文件,當我們雙擊執行的時候,就可以看到您所說的軟件界面了。1.瀏覽器訪問的應用

展示成界面形式一般是通過編寫html+css代碼實現界面展示,其他的編程語言編寫後也會輸出html語言,瀏覽器會進行解析,完成元素和樣式的展示

2.電腦或者手機安裝的應用

這種有專門的組件庫,windows上的微軟sdk,安卓的的谷歌sdk,都提供界面佈局的控件

在以上的分享關於這個問題的解答都是個人的意見與建議,我希望我分享的這個問題的解答能夠幫助到大家。

在這裡同時也希望大家能夠喜歡我的分享,大家如果有更好的關於這個問題的解答,還望分享評論出來共同討論這話題。

我最後在這裡,祝大家每天開開心心工作快快樂樂生活,健康生活每一天,家和萬事興,年年發大財,生意興隆,謝謝!



破指標


你好,根據你的問題。我猜測你應該不是做軟件開發的吧。

首先,代碼需要根據你使用的是什麼編程語言。這個就很多了,比如C#,java,python等等。這只是編程需要,當然你還需要用到編程工具,這裡我舉個例子:比如VS,它是微軟最新的開發工具。

編程語言和編程工具,我們都有了,就可以編寫代碼。當然你要會。做的過程中,可以用圖片,圖標等素材去搭建我們要做出來的軟件界面。這個界面是可以隨時編譯看效果的。

最後,軟件調試完畢就要打包或者叫生成一個可執行的文件。舉個例子:xxx.exe。這樣一個文件,當我們雙擊執行的時候,就可以看到您所說的軟件界面了。

好了,說了這些其實只是一個大概。這裡面涉及到的知識點很多。寫程序也非常考驗人的耐心和轉換思維。所以,才被公認為收入高,但同時也是青春飯了。因為,確實很費腦,所以大哥您想入行的話,要仔細考慮清楚哦!


好奇豬Vlog


一個優秀的問題,應該是對問題的邏輯限制描述清楚的。。

既然頭條推了這個,那就簡單答下:一段代碼->有操作界面的軟件。

那麼首先這段代碼,必須包含界面的繪製邏輯,比如一個輸入框,一個實體,本身就包含了自己的邏輯規則,比如EditText,操作系統運行這段代碼,就會調用相關的硬件資源,比如顯卡驅動,去在顯示器上繪製此輸入框界面,輸入的時候,軟件就會收到操作系統傳來的鍵盤輸入結果。

軟件的一切代碼都是對硬件資源的使用。

所以,代碼轉換界面,就是你在代碼中定義界面,操作系統理解它,然後操作系統在顯示器上畫出來。

不管是手機,還是PC,還是嵌入式,都是一樣的。

理解事物內涵的基礎上去理解表面就比較容易。

就這麼簡單。


互聯網建築工


第一 有操作界面那個是需要用原型設計的一個軟件來做的,用於軟件開發團隊,體驗軟件開發的各種功能!程序只是其中一步。

第二 程序寫完後需要需要用封裝的軟件,把它打包為一個軟件,你可以下載體驗。你可以和你的同行,開發團隊詳細溝通!



藍隊雲渠道經理


1.瀏覽器訪問的應用

展示成界面形式一般是通過編寫html+css代碼實現界面展示,其他的編程語言編寫後也會輸出html語言,瀏覽器會進行解析,完成元素和樣式的展示

2.電腦或者手機安裝的應用

這種有專門的組件庫,windows上的微軟sdk,安卓的的谷歌sdk,都提供界面佈局的控件


服務機器人前沿


步驟如下:

  1. 原型設計:藉助原型交互設計工具完成,例如:Mockplus(摹客)、Axure RP

  2. 程序編碼:例如:Eclipse、Intellij IDEA、微軟的Visual Studio、VS code等

  3. 測試:CodeSonar、TestDirector

  4. 打包:單機版打包成執行文件.exe,網絡版生成Web的發佈文件

  5. 部署:IIS、Tomcat、Nginx(負載均衡)


分享到:


相關文章: