2011-01-05 1 views
1

저는 리눅스 사용자입니다. GUI를 디자인 할 때 Glade를 사용하는 것을 주저했습니다. 생성 된 XML 파일을 쉽게 수정할 수 있기 때문입니다. 나는 그것이 중요한 이슈처럼 들리지 않는다는 것을 안다.하지만 사람들이 변화되기를 원치 않는 상업적 앱이라면 어떨까?컴파일 된 응용 프로그램의 GUI를 수정할 수 있습니까?

Mac OS X을 매번 사용하고 있는데, GUI 용 파일 ".nib"를 사용하고 있습니다. 나는 그들이 Nextstep과 Openstep에서 사용 된 것과 본질적으로 동일한 유형이라고 생각한다. (이 파일들을 편집 할 수있는 리눅스 애플리케이션도있다.) 어쨌든, 이러한 파일은 응용 프로그램 번들에 포함되어 있으며 some people에 따라 완전히 편집 할 수 있습니다. 이 사람은 Keynote의 인터페이스를 성공적으로 편집했다고 주장합니다.

이제 왜 가능하겠습니까? 최종 사용자가 인터페이스를 변경할 수 있습니까? 또는 전통적인 GTK 응용 프로그램처럼 컴파일 된 응용 프로그램 코드에서 직접 GUI를 사용하는 것이 더 좋습니까?

+2

가능한 경우에도 : 왜 방지 할 수 있습니까? Moddability는 일반적으로 플러스입니다 (특히 공식적으로 지원되는 경우 주요 포인트는 가능하다는 것입니다). 그리고 그것을 막는 데 어떤 노력을하거나 정당화할만한 것이 아닌 경우에도? – delnan

+0

"전통적인 GTK 앱"조차도 사용자의 GTK 테마 설정에 따라 변경 될 수 있으며, 또는이를 금지시킬 수 있습니까? –

+0

OS X에서는 nib 파일을 더 이상 편집 할 수 없습니다. 표범 전에 그들은 빌드시 응용 프로그램에 간단하게 복사되었습니다. 그러나 이제는 컴파일 된 다음 번들에 복사되는 다른 형식이 사용됩니다. 이 새로운 것들은 편집 할 수 없습니다. – ughoavgfhw

답변

3

OS X nib 파일은 하나의 옵션입니다. 다른 옵션은 프로그래밍 방식으로 작업을 수행하는 것입니다. 안드로이드 들어, XML 파일은 GUI 또는 프로그램 코드는 그것을 할 수 정의 할 수 있습니다. Windows WPF에서 UI는 XML로 작성됩니다. Firefox/Mozilla? 또 다른 XML 기반 UI 언어 인 XUL.

대부분의 최신 GUI 툴킷은이 두 가지 옵션 중 하나를 가지고 있거나 파일의 UI 만 정의 할 수도 있습니다.

그러나 바이너리 파일도 수정할 수 있습니다. 좋은 이진 리버스 엔지니어링 툴을 사용하면 열어 보았습니다. 정말로 확실한 유일한 방법은 Apple이 iOS로 수행 한 작업을 수행하고 서명 된 코드를 실행하는 것입니다. 전체 번들은 키에 의해 서명되고 수정 된 경우 실행할 수 없습니다.

이것은 대부분의 사람들에게 문제가되지 않습니다. UI가 수정 된 이유는 무엇입니까? 기본 코드가 아니기 때문에 기능을 추가하거나 수정할 수 없습니다.

당신이 당연히 우려할만한 내용은 당연히 stuff a little more like this입니다.

0

xml은 인터페이스의 모양보다 조금 더 자세히 지정합니다. 컴파일 된 이벤트 처리 코드가 없으면 거의 쓸모가 없습니다. 제 생각에는 고객이 위험을 감수하면서 고객을 변경하고 실제로 해킹으로 인해 유용한 유용한 개선 사항을 얻을 수 있습니다.

정말 사람들이 그것을 편집하는 것에 대해 편집증이있는 경우 XML을로드하거나 XML 문자열을 헤더 파일로 컴파일 할 때 항상 MD5 다이제스트 검증 단계를 추가 할 수 있습니다. 그러나 많은 장점이 있습니다.

+0

편집증 환자라면 코딩을 중단하고 도움을 받아야합니다. – delnan

1

정말 문제가 없습니다. 사용자가 UI를 엉망으로 만들면 문제가 발생합니다. 그것이 moddable 게임처럼 생각하십시오. 사용자는 항상 그 (것)들을 사랑하고, 결국에는 대부분의 게임이 그것에서 혜택을 받는다. 응용 프로그램의 사용자 인터페이스에는 대개 비밀이 없습니다. 있다면, 당신은 항상 어떤 종류의 암호화를 할 수 있습니다.

다른 사람들이 말했듯이 편집을 허용하지 않으려면 체크섬을 추가 할 수도 있습니다.

0

Parasite과 같은 도구를 사용할 수 있으므로 테마 엔진이 GUI를 크게 변경시킬 수 있습니다. Glade 레이아웃을 업데이트하는 것은 위험에 처해있는 것보다 훨씬 안전합니다.

어쨌든 UI를 사용자 정의하는 사용자에게 잘못된 점이 있습니까?

관련 문제