HTML태그같은 GUI또는 CUI태그가 있을까요?

dummy999의 이미지

예전에 한참 제가 플밍하면서 여러가지 제안을 글로 써놨는데
이런게 지금 존재하고있는지 궁금했습니다.

뭐냐면 HTML처럼 태그만으로 GUI를 구현하는 그런거말입니다.
예전에 물어봤었는데. 지금도 존재하고있는지 궁금합니다.
MS쪽과 비 MS쪽.. 양쪽다 개발중일까요?

저는 이런생각을 해봤습니다. 웹은 거의 텍스트 중심이라서
윈도우용에서는 엑티브 X를 많이 쓰잖아요
그런데 리눅스에서는 그기술을 이용할수없으니..
아무래도 어떤한계가 있어보일껍니다.

그래서 태그로서 화면을 구현하는 인터넷이있었음좋겠다는 생각이 들었습니다.
뭐랄까. 브라우져의경우에 자바나 플레시처럼 브라우져안에서 창을열고 그안에서 작업하고 한마디로 브라우져 작업창하나안에서 작업하다 브라우져 닫으면 전부 닫아지는...

아 설명하고자하는것은 그렇게 태그로 GUI를 그릴수있는 그런게 있는지 궁금하다는겁니다. 태그로 작성된 화면을 자바에연동시킬수있고 C에도 연동시킬수있고 VB에도 연동시킬수있고. 언어처럼생긴거에는 다 붙여넣을수있잖아요.
또한 초보들도 그런걸 그릴수도있어서 좋겠죠..

이걸 구현하면 액티브엑스같은게 필요없을듯보입니다.
일예로 다모임들어가면 하단에 막대하나가 엑티브엑스를 이용해 나타납니다.
일종의 메신져역할을 하더라구요.
그런데 그것을 리눅스에서는 할수없을듯싶습니다.

만약 그런 태그가 존재해서 화면만 그려놓고 엔진부분(구현부분)은 php나 jsp, asp따위로 구현하면 훨씬 좋을듯싶군요..

이태그가 담긴를 더블클릭만했을때.. 프로그램도 실행시킬수있고.. 할수있으니
상당히 효율성이있겠죠?

솔직히 이런게 있으면 프레임웤(닷넷,자바)같은게 필요없을듯싶네요.
php도 그런유형의 언어가될수있지않을까 생각되고요..(100%는 아니겠지만.)
또는 그 허접한 C나 C++같은 언어도 웹에서 더욱강력한 언어가 될수있지않을까생각됩니다.

아이 몰겠군요.. 그냥 예전에 관련된내용을 상세하게 기술한 문서가 있을텐뎅.. 보이지않으니.. 대충 생각나는대로 짓껄여봤습니다. ㅎㅎ

이것에관련된 최근 정보를 알고싶습니다.
각진영에서는 이기술을 어떻게 부르며 얼마나 구현되었는지등에대해서..
(여기 게시판어디다도 쓴거같은데 좀처럼 알수가 없네요.. -_-;;)

dotri의 이미지

그런 기술이 없기때문에 Active-X 나 에플릿같은게 나온게 아닌가요?
각 진영에서는 이런 이름으로 부르더군요.

MS 진영: Active X 기술
Java 진영: Java Applet

-_-...
혹시 양쪽에서 상호 호환되는 기술을 말씀하시는거라면, 없는게 당연합니다. 양 진영이 손을 잡는다던지, IEEE 나 ISO 에서 웹 어플리케이션 표준안을 제시하기 전에는 말이죠.

dotri의 이미지

아참. 그리고 테그 하나로 GUI 인터페이스 만들 수 있습니다. 양 진영에서 100% 호환 가능한 테그 말이죠.

<input type=button name="버튼" value="mybutton1">

이 인터페이스의 동작에 관한 엔진부분 구현은 ASP 나 PHP 등으로 하면 되겠네요.

warpdory의 이미지

VisualREXX 라고 해서 예전부터 있던 tag 및 스크립트를 사용하는 GUI 가 있습니다.
다만 IBM 중대형 기종에서만 쓰이기에 일반적으로는 잘 모르고 있을 뿐이지요. - 제가 알게 된 건 OS/2 에서도 돌아가기 때문입니다.
이름 그대로 REXX 라는 언어에다가 Visual 한 환경을 돌릴 수 있도록 올린 거라고 보시면 됩니다.

인터넷 환경, 더 정확히는 웹 환경에 적합한지는 잘 모르겠군요.


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

오렌지쥬스의 이미지

ms진영에선 XAML, 오픈소스쪽에선 XUL이 있습니다.

dummy999의 이미지

아 추가적으로 몇가지 더생각나네요,..
A라는 버튼이 눌려지면 C언어로 만들어진 모듈이 동작하고
B라는 버튼을 누르면 VB로 작성된 모듈이 작동하고
C라는 GUI기능을 실행하면 자바스크립트모듈이 작동하는등..
물론 그렇게하려면 화면 태그가 저장된 것과함께 각 모듈들을 돌릴수있는
런타임엔진도 포함되어야겠지만..

뭐 기타등등.. 일단 눌려지면.. 어떤 언어로만들어진 모듈이든지
작동하게하는겁니다.

이렇게하면 화면하나는 누구나 만들수있으며.
어떤언어와 달라붙기를 잘하겠죠.
또한 인터넷환경과 아닌환경에서도 돌수있을테니..
또한 OS의 테마에 맞게 화면이 컨트롤러(VB에서는 그렇게 부르고.. 어디서는
컴포넌트라고도하고..)들이 취향에 맞게 같이 변할수도있죠..

엄청나게 좋겠다는 생각입니다.
수치로따진다면.. 약 99%정도는 누구나 유용하다고 생각이 들껍니다.

dotri wrote:
아참. 그리고 테그 하나로 GUI 인터페이스 만들 수 있습니다. 양 진영에서 100% 호환 가능한 테그 말이죠.

<input type=button name="버튼" value="mybutton1">

이 인터페이스의 동작에 관한 엔진부분 구현은 ASP 나 PHP 등으로 하면 되겠네요.


이런 버튼태그처럼..말이죠.
근데 엑세스에도 VB를 사용할수있거든요.. 거기가면 버튼도 스타일이 엄청많습니다. 어떤것은 그림자도 보이고 어떤것은 윈도우 3.1스타일도되는등..
이런것도 선택이 가능하면 좋겠군요 ㅎㅎㅎ

예컨데 버튼이면
{버튼 btn테스트
<속성>
.글자 = "눌러라";
.글자색 = "빨강";
.글꼴 = "굴림";
.글꼴크기 = "13";
.글꼴스타일 = "기울림", "굵게";
<방법>
.한번클릭 = 팝업메시지("알림","한번클릭"); 실행("a.exe");
.두번클릭 = 팝업메시지("알림","더블클릭"); 실행("index.html");
.세번클릭 = 팝업메시지("알림","3번눌렀다");
.열번클릭 = 팝업메시지("경고","허벌라게눌렀다그만눌러-_-^");
.백번클릭 = 팝업메시지("경고","복수다."); 실행(OS포맷);
}

{폼 test폼(숫자 ㄱ, 문자 ㄴ, 아무거나 ㄷ)
<방법>
.불러오면 = 방법2();
.두번클릭 = 실행("a.exe", ㄴ);

방법2()
{
만약 ㄷ="오류" 이면 팝업메시지("알림","오류떳구만");스크립트.종료();
}

}

뭐 이런식이거나 또는 더 편리한 가독성을 가진 스크립트면 좋겠군요 ㅎㅎㅎ

그러니까. 언어로서 어느정도기능은 가져야겠죠.. 왜냐면 파이프따위를 구현하려면 결과값같은거도 필요하고 그러니까요..

위에해놓은것은 단지보여주는정도입니다.
뭐 대충써서 모순이 많을껍니다.

------------------------------------
F/OSS bless you... ^^*

angpoo의 이미지

wow는 UI를 xml파일로 만들어 자기 마음데로 수정이 가능합니다.
lua 스크립트로 새로운 기능을 만들어 넣는것도 가능합니다.
보통은 게임중에 필요한 정보를 화면에 더 많이 표시한다던지 한번클릭으로 몇가지 기능을 동시에 실행시킨다던지 하는 기초적인것부터
아예 게임 안에 지뢰찾기 같은 전혀 다른 미니게임을 만들기도 합니다.

kirrie의 이미지

php-gtk 라이브러리를 응용하면, php로도 대화형 gui프로그램을 만들 수 있.. 다는 이야길 책에서 봤습니다.

http://gtk.php.net

php만세! :twisted:

--->
데비안 & 우분투로 대동단결!

hey의 이미지

kirrie wrote:
php-gtk 라이브러리를 응용하면, php로도 대화형 gui프로그램을 만들 수 있.. 다는 이야길 책에서 봤습니다.

http://gtk.php.net

php만세! :twisted:


물론 가능하죠. 그런데 클라이언트에서 php를 해석하는 겁니다. 당연히.


----------------------------
May the F/OSS be with you..


galien의 이미지

C#에서 Form클래스(였던가)를
xml문법으로 바인딩해서 쓰는 것을 책에서 본적이 있습니다.

딱 원하시는 취향대로 지원을 하는데요,

닷넷환경인지라 대체로 그냥 위지위그로 만들곤하죠 사람들이.
저도 그렇고요.

올해인가 내년인가부터는 ide도 무료로 배포한다고 하니...

아참.. 파폭에서지원하는 xul도 xml문법이던 것 같던데요.

<?xml version="1.0"?>

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window id="example-window" title="Example 2.2.1"
        xmlns:html="http://www.w3.org/1999/xhtml"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<button label="Normal"/>
<button label="Disabled" disabled="true"/>
<button label="Default" default="true"/>


</window>
dummy999의 이미지

그런데 위에 소개하신 기술들은 대부분 운영체제지향형이 아니라.
웹기술용으로 나온듯싶네요..

저는 이기술이 GUI에서 파이프기술등에서 사용될 좋은 기술이었음좋겠다는 생각이 들었습니다. 그럴려면 DOS스크립트가 되어야하죠.

똑같은 화면인데 어떤것을 실행하면 스크립트언어(php같은거)가 구동되고
같은저장된 스크립트를 실행파일만 바꿔기술하면 컴파일모듈로 동작하는등..

다시말해 전적으로 독립적인 소스로서 구현되었음 좋겠다는 생각입니다.

예전에 도스에서 스크립트짤때도 그런방식이었던거같았습니다.
어떤 프로그램 실행해서 결과가나오면 그것을 인수로받아서 결과를 처리하는
스크립트형방식.. 그래서 그런 기능을 누구나 짤수있었음좋겠다는 생각입니다.

CUI용 스크립트가 할수있는것은 GUI로 다할수있게하되
덤으로 화면까지 그릴수있는 GUI용 스크립트언어가
필요하는것이목적이될수있다고생각됩니다.

제가 처음에 구상한 GUI용 마크업랭귀지(뭐 XML도 마크업랭귀지이고 HTML도 마크업랭귀지이듯..)의 특징은..

1. 모든언어에서 호환이되어야한다입니다.
그렇게 생각해보니까. 호출하는 방식이 생각났고
html이나 쉘스크립트가 대표적인 예가 된다고 생각되더라구요.
만들어지면 html같은 또는 쉘스크립트같은 파일하나로
화면하나를 그리고 그화면에서 누르면 이벤트가 발생하고. 그이벤트는
루틴에따라 내부에서 처리하던지 외부에서 처리하게 합니다.
그런데 처리루틴을 상세하게하면 잘못하면 큰 프로그램이되버릴수있습니다.
그래서 저는 이부분에있어서 쉘스크립트처럼 제한적인 형태로만 구상해봤습니다.

2. 제2의 html이 되지않을까생각해봤습니다.
지금의 인터넷은 단지 웹페이지로서 문서에 가깝습니다.
그런데 중요한자료같은경우엔 어떤 통계형태로 보여줘야할필요가있거나
또는 GUI종속적인 형태가 큰 정보제공도있을거라생각되었습니다.
예컨데 인터넷으로 워드프로세서를 서비스한다면..(한때 한컴의 넷피스같은게 그런거잖아요)
상당부분의 모듈을 다운받아서 해야할껍니다.
그런것이 액티브액스같이 살인적으로 설치를 요구하는 설치프로그램들입니다.
GUI태그를 이용하면 이부분또한 어느정도해결되지않을까싶습니다.
적어도 GUI를 요구하는정도라면.. 상당히 가벼운 태그형태로 GUI를 제공하므로서 수행속도가 지금보다는 많이빠르겠죠.

이걸이용하면 아무래도 워드프로세서나 기타 애플리케이션이 서버한대에서
모듈만 돌리고 클라이언트는 서버로부터 껍데기(UI)만 받아서 돌리죠
중앙작업도 가능할껍니다.

이렇게하면 구태여 새로운버전을 다운받을 필요가 없겠죠.. 메인에 한대만 다운받으면되니까요.

3. 모듈통합.. 새로운 프로그램으로
뭐랄까. 얼굴만 가져오는것이므로.. 어떤기능은 MS워드에서 따오고
어떤것은 HWP에서 따오고 어떤것은 다른 워드프로세서에서 모듈만따와
내기호에 맞는 워드프로세서도 만들수있지않을까 생각됩니다.
물론 지원한다면말이죠.

다시말해 모듈들을 조합하면(게임에서처럼.) 간단하게 새로운 프로그램하나를 만들수있겠죠.

또 껍질은 메모장인데 처리하는 부분은 원격에서 리눅스의 모듈이될수있고
내컴퓨터의 윈도우 모듈일수도있게합니다.

------------------------------------
F/OSS bless you... ^^*

hey의 이미지

으음. 역시 절반 정도는 무슨 말인지 모르겠군요.

dummy999 wrote:

1. 모든언어에서 호환이되어야한다입니다.
그렇게 생각해보니까. 호출하는 방식이 생각났고
html이나 쉘스크립트가 대표적인 예가 된다고 생각되더라구요.
만들어지면 html같은 또는 쉘스크립트같은 파일하나로
화면하나를 그리고 그화면에서 누르면 이벤트가 발생하고. 그이벤트는
루틴에따라 내부에서 처리하던지 외부에서 처리하게 합니다.
그런데 처리루틴을 상세하게하면 잘못하면 큰 프로그램이되버릴수있습니다.
그래서 저는 이부분에있어서 쉘스크립트처럼 제한적인 형태로만 구상해봤습니다.

ui 구조를 xml로 정의하는 모든 방식이 여기에 해당합니다. 그놈의 glade는 ui를 xml 형식으로 저장하고 libglade가 포팅된 모든 언어에서 당연히 호환됩니다.

dummy999 wrote:

2. 제2의 html이 되지않을까생각해봤습니다.
지금의 인터넷은 단지 웹페이지로서 문서에 가깝습니다.
그런데 중요한자료같은경우엔 어떤 통계형태로 보여줘야할필요가있거나
또는 GUI종속적인 형태가 큰 정보제공도있을거라생각되었습니다.
예컨데 인터넷으로 워드프로세서를 서비스한다면..(한때 한컴의 넷피스같은게 그런거잖아요)
상당부분의 모듈을 다운받아서 해야할껍니다.
그런것이 액티브액스같이 살인적으로 설치를 요구하는 설치프로그램들입니다.
GUI태그를 이용하면 이부분또한 어느정도해결되지않을까싶습니다.
적어도 GUI를 요구하는정도라면.. 상당히 가벼운 태그형태로 GUI를 제공하므로서 수행속도가 지금보다는 많이빠르겠죠.

이걸이용하면 아무래도 워드프로세서나 기타 애플리케이션이 서버한대에서
모듈만 돌리고 클라이언트는 서버로부터 껍데기(UI)만 받아서 돌리죠
중앙작업도 가능할껍니다.

이렇게하면 구태여 새로운버전을 다운받을 필요가 없겠죠.. 메인에 한대만 다운받으면되니까요.

좋은 생각이지만 해당 ui 규칙을 웹브라우저가 지원해야 합니다. 지금 상황에선 모든 웹브라우저가 '어떤 규칙'을 완전히 지키길 기대하는 것은 불가능합니다. 왜냐하면 웹브라우저는 HTML(또는 XHTML) 파서 & 렌더러이고, W3C같은 권위있는 단체에서 권유하지 않는 한(그나마 W3C의 권유를 무시하는 업체/사용자들도 많죠) 그것을 제공할 리가 없습니다. 다른 얘기지만, 그래서 표준이 중요한 것입니다.

그리고 위에서도 나왔지만 XUL 같은 기술이 바로 더미님이 원하시는 그런 기술입니다. 이것은 XML로 된 UI 기술 언어이고, 비교적 간단하고 빠르게 UI를 구성할 수 있습니다. 물론 게임도 만들 수 있구요. 단지 특정 플랫폼에서만 작동한다는 것만이 문제입니다. 다시 말하지만, 그래서 표준이 중요한 것입니다.

dummy999 wrote:

3. 모듈통합.. 새로운 프로그램으로
뭐랄까. 얼굴만 가져오는것이므로.. 어떤기능은 MS워드에서 따오고
어떤것은 HWP에서 따오고 어떤것은 다른 워드프로세서에서 모듈만따와
내기호에 맞는 워드프로세서도 만들수있지않을까 생각됩니다.
물론 지원한다면말이죠.

다시말해 모듈들을 조합하면(게임에서처럼.) 간단하게 새로운 프로그램하나를 만들수있겠죠.

또 껍질은 메모장인데 처리하는 부분은 원격에서 리눅스의 모듈이될수있고
내컴퓨터의 윈도우 모듈일수도있게합니다.

생각은 좋지만 구현하긴 어렵습니다. 뭐 특정 UI만 떼어서 조합하는 것만은 가능하겠죠.

그놈의 보노보 UI가 이를 일부 구현하기도 합니다.


----------------------------
May the F/OSS be with you..


chronon의 이미지

hey wrote:
그놈의 glade는 ui를 xml 형식으로 저장하고 libglade가 포팅된 모든 언어에서 당연히 호환됩니다.

hey wrote:
그놈의 보노보 UI가 이를 일부 구현하기도 합니다.

처음 딱 보고 glade 와 보노보에 무슨 불만이라도 갖고 계신 줄 알았습니다. :lol:
gnome 이었군요.

unipro의 이미지

dummy999님은 용감하신 면이 보기 좋습니다.
정답만 얘기하려는 사람, 정답만 인정하려는 사람한테서는
새롭고 창의적인 생각을 기대하기 어렵습니다.

제가 아는 기계독립적인 UI를 구성할 수 있는 것이 TK가 있을 듯 하네요.

필요한 모듈을 사용하기 위해서는 COM이나 CORBA같이
모듈의 공통의 인터페이스를 표준으로 정의해야 할 것 같습니다.

흥미로운 내용 같습니다.
다른 분들의 지식, 지혜와 새로운 생각들을 더 듣고 싶네요.

내 블로그: http://unipro.tistory.com

creativeidler의 이미지

자바에는 Jelly가 있습니다.

http://jakarta.apache.org/commons/jelly/libs/swing/index.html

XML로 만들면 그걸로 Swing UI를 구성해주죠.

ㅡ,.ㅡ;;의 이미지

으음.. 무슨말씀하는지 이해못하겠군요..

dummy999 wrote:

뭐냐면 HTML처럼 태그만으로 GUI를 구현하는 그런거말입니다.
예전에 물어봤었는데. 지금도 존재하고있는지 궁금합니다.
MS쪽과 비 MS쪽.. 양쪽다 개발중일까요?

테그만으로 구이를 구현하는게 바로 브라우져입니다.
옛날부터 존재했고 양쪽다이미 존재하자나요..
만일 브라우져로 부족하다면 그부족한면을 말씀하셔야지..

Quote:

저는 이런생각을 해봤습니다. 웹은 거의 텍스트 중심이라서
윈도우용에서는 엑티브 X를 많이 쓰잖아요
그런데 리눅스에서는 그기술을 이용할수없으니..
아무래도 어떤한계가 있어보일껍니다.

그래서 태그로서 화면을 구현하는 인터넷이있었음좋겠다는 생각이 들었습니다.

태그란것이 이미택스트인데 태그기반이 처음글에서 태그기반이길원한다고 하셨는데 다시 웹이 택스트 중심이라 불만? 이란건가요?
그러다가 또 밑에는 태그로서 화면구현하는 인터넷이 있었으면좋겠다니요...

Quote:

뭐랄까. 브라우져의경우에 자바나 플레시처럼 브라우져안에서 창을열고 그안에서 작업하고 한마디로 브라우져 작업창하나안에서 작업하다 브라우져 닫으면 전부 닫아지는...


창안에서 창을열고 그안에서 작업하고 브라우져 닫으면 전부 닫아집니다.
단 창안의 창이 안움직여서그렇지.자바스크립트 이용하면 움직일수도 있을듯.


----------------------------------------------------------------------------