私は、デスクトップGUIをコードでどのように設計できるか(グラフィカルデザイナーではありません!)について、既成概念にとらわれずに考えようとしてきました。私はこれが行われる基本的に3つの方法に出くわしました:
しかし、誰かがこれら3つ以外のことをしたと確信しています。これら3つ以外の形式を使用してGUIをコーディングできるフレームワークまたは言語の既存の例はありますか?
たぶん、Delphi.dfmファイルは例として役立つことができます:
inherited DialoogConfigExchange: TDialoogConfigExchange
ActiveControl = EditHost
Caption = 'Exchange (Agenda)'
ClientHeight = 198
ClientWidth = 600
ExplicitWidth = 616
ExplicitHeight = 236
PixelsPerInch = 96
TextHeight = 16
inherited PanelButtons: TcxGroupBox
Top = 163
ExplicitTop = 163
ExplicitWidth = 600
Width = 600
inherited ButtonCancel: TcxButton [0]
Left = 490
ExplicitLeft = 490
end
inherited ButtonOK: TcxButton [1]
Left = 380
Caption = '&Opslaan'
OnClick = ButtonOKClick
ExplicitLeft = 380
end
end
object Panel1: TcxGroupBox [1]
Left = 0
Top = 0
Align = alClient
PanelStyle.Active = True
PanelStyle.OfficeBackgroundKind = pobkGradient
Style.BorderStyle = ebsNone
TabOrder = 1
Height = 163
Width = 600
object LabelHost: TcxLabel
Left = 10
Top = 10
AutoSize = False
Caption = 'Exchange Web Services URL:'
Properties.Alignment.Vert = taVCenter
Transparent = True
Height = 24
Width = 200
AnchorY = 22
end
object LabelGebruiker: TcxLabel
Left = 10
Top = 38
AutoSize = False
Caption = 'Exchange server gebruiker:'
Properties.Alignment.Vert = taVCenter
Transparent = True
Height = 24
Width = 200
AnchorY = 50
end
object LabelWachtwoord: TcxLabel
Left = 10
Top = 66
AutoSize = False
Caption = 'Exchange server wachtwoord:'
Properties.Alignment.Vert = taVCenter
Transparent = True
Height = 24
Width = 200
AnchorY = 78
end
object EditHost: TcxTextEdit
Left = 217
Top = 10
AutoSize = False
TabOrder = 0
Height = 24
Width = 345
end
object EditGebruiker: TcxTextEdit
Left = 217
Top = 38
AutoSize = False
TabOrder = 1
Height = 24
Width = 345
end
object EditWachtwoord: TcxTextEdit
Left = 217
Top = 66
AutoSize = False
Properties.EchoMode = eemPassword
Properties.PasswordChar = '*'
TabOrder = 2
OnEnter = EditWachtwoordEnter
OnExit = EditWachtwoordExit
Height = 24
Width = 345
end
object CheckEncrypted: TcxCheckBox
Left = 215
Top = 92
Hint = 'Sla het databasewachtwoord encrypted op'
AutoSize = False
Caption = 'Encrypted'
TabOrder = 6
Height = 24
Width = 100
end
object ButtonTest: TcxButton
Left = 50
Top = 132
Width = 100
Height = 25
Caption = '&Test'
OptionsImage.ImageIndex = 167
OptionsImage.Images = DataModuleImageLists.cxImageListSmall
TabOrder = 7
OnClick = ButtonTestClick
end
end
inherited FormTranslator: TIvTranslator
Left = 485
Top = 125
end
inherited LookAndFeelControllerTimeTellForm: TcxLookAndFeelController
Left = 485
Top = 65
end
inherited StyleRepositoryForm: TcxStyleRepository
Left = 485
Top = 95
PixelsPerInch = 96
end
inherited EditStyleControllerVerplicht: TcxEditStyleController
Left = 485
Top = 5
PixelsPerInch = 96
end
inherited EditStyleControllerReadOnly: TcxEditStyleController
Left = 485
Top = 35
PixelsPerInch = 96
end
e
あなたがリストしたものは、プログラミング言語パラダイムによってグループ化することができます:
箱の外で本当に考えたいのであれば、他のパラダイムをチェックする必要があります。ファッショナブルな関数型パラダイムがどのようになったかを見て、その領域について考える価値があるかもしれません、いくつかのインスピレーション: http://www.chris-granger.com/2013/01/24/the-ide-as-data/
また、最新のJSフレームワークを調べる価値もあります。たとえば、D3には興味深いアプローチがあります。
Treethon Pythonで頭に浮かぶ。
GUIをYAML形式で記述します。
# example base2.triton
_import : gtk
view : gtk.Window(gtk.WINDOW_TOPLEVEL)
add :
- view : gtk.Label('Hello World')
内部はXMLベースですが、Appleの Interface Builder は、GUIをコーディングするためのグラフィカルインターフェイスを提供します。
appleのMacOSXオペレーティングシステム用のアプリケーション。これはXcode(以前のProject Builder)の一部であり、Apple Developer Connection開発者のツールセットです。InterfaceBuilderを使用すると、CocoaおよびCarbon開発者はグラフィカルユーザーインターフェイスを使用してアプリケーションのインターフェイスを作成できます。結果のインターフェイスは保存されます。nibファイル、NeXT Interface Builderの略、または最近では。xibファイル..
Enyo は本質的に、HTMLではなく純粋なjavaScriptで実装されるように設計されたGUIレイヤーです。さらに言えば、jQueryUIも同様に考えることができます。
WYSIWYGデザイナーを使用している場合でも、GUIはいくつかのコード形式で綴られます。使用するツールキットによっては、その形式を手で書くのが簡単な場合もあれば、煩わしいほど難しい場合もあります。