BeOS API
BeOS APIBeInc.의 이름을 따서 Be API라고 불리는 BeOS API는 BeOS에 그래픽 네이티브 애플리케이션을 작성하기 위해 필요한 애플리케이션 프로그래밍 인터페이스이며, 따라서 Haiku와 ZETA와 같은 파생 소프트웨어입니다.
API는 관련 클래스를 함께 수집하고 지원 코드를 포함하는 라이브러리와 관련된 몇 가지 "kits"로 나뉩니다.
Python의 대부분의 클래스와 Perl의 스토리지 키트 관련 클래스의 작은 서브셋을 사용하는 서드파티 바인딩은 거의 모두 C++입니다.
키트
- 응용 프로그램 키트
어플리케이션 키트에는 BeOS 어플리케이션 부팅에 필요한 기본 클래스와 글로벌 클립보드, 어플리케이션 간 및 내부 메시징, 타이머, 로스터 및 그래픽 어플리케이션 지원에 필요한 기타 기능이 포함되어 있습니다.응용 프로그램키트 클래스는 [1]에서 지원됩니다.
- 스토리지 키트
스토리지 키트는 파일 조작, 파일 시스템 계층 탐색, 심볼 링크 작성 및 관리, 그래픽 응용 프로그램의 파일 열기/저장 패널 처리 및 Be File System 속성 처리 등 파일 시스템에 대한 액세스와 관련된 방법을 제공합니다.스토리지 키트 클래스는 대부분 에 있으며 Tracker는 [2]OS의 네이티브 파일 매니저입니다.
- 인터페이스 키트
인터페이스 키트는 글꼴 처리, 그리기 작업 및 렌더링 제어를 포함하여 기본 창 클래스에서 대화 상자까지 그래픽 애플리케이션을 구축하기 위한 위젯 모음을 제공합니다.대부분은 이 [3]키트로 구성되어 있습니다.
Haiku 버전의 API에서는 Layout API를 추가하여 사용자 인터페이스를 [4]설계하기 위한 도구를 제공합니다.
- 커널 키트
커널 키트는 스레드화, 세마포어 및 시스템 정보에 액세스하는 기능을 제공합니다.또, 을 참조해 주세요.
- 서포트 키트
지원 키트는 보조 메모리 할당 및 목록 지원 등 다른 키트에 쉽게 포함되지 않는 고급 기능을 제공합니다.
- 네트워크 키트
네트워크 키트는 기본적인(BeOS R5과 낮은)이나 버클리 소켓의 거의 완전한(BeOS 단오, 더 높은)의 집행과 꼭뿐만 아니라"모국"기능이 Nettle C++네트워킹 도서관에 기반을 제공한다.Libnet.soR5에 Berkeley소켓, 나중에 더 흔하libsocket/libbind로 대체를 제공한다.그래서, 그리고 R5에 libnetapi, 나중에 교체했다nomenclature.by는 Nettle의 변경된 버전을 제공합니다.
- 메일 키트
메일 키트는 기본 전자 메일 형식과 시스템을 사용하여 표준 프로토콜(POP3 및 SMTP)을 사용하여 전자 메일을 가져오고 받는 방법을 제공합니다.메일 키트는 에서 지원됩니다.
- 번역 키트
번역 키트는 이미지와 플레인 텍스트 형식을 모두 애드온으로 처리하는 방법을 제공합니다.어플리케이션은 하나의 형식(네이티브 중간 형식)만 지원하며 애드온 지원 형식으로 저장/로드할 수 있습니다.API는 라이브러리를 통한 비디오 및 오디오 변환도 허용하지만, 이는 BeOS R4로 대체되어 즉시 비활성화되었습니다.Translation Kit는 다음에서 지원됩니다.
- 미디어 키트
미디어 키트는 플러그형 애드온을 기반으로 한 오디오 및 비디오 입출력 추상화 레이어를 제공하며 사운드 믹싱, 오디오 및 비디오 형식 변환 및 기타 미디어 관련 기능을 처리합니다.미디어 키트 기능은 에서 지원됩니다.
- MIDI 키트
MIDI 키트는 MIDI 하드웨어 입출력 추상화 기능과 소프트웨어 신시사이저(BeOS R5의 Headspace에서 제공)를 제공합니다.구식 BeOS R3 시대의 MIDI API는 R4+ API를 제공합니다.
- 게임 키트
게임 키트는 컴퓨터 게임 오디오 출력에 적합한 다양한 사운드 형식과 전체 화면 응용 프로그램을 실행하고 비디오 오버레이를 사용할 수 있는 기능을 제공합니다.
- OpenGL 키트
OpenGL 키트는 OpenGL 구현과 네이티브 응용 프로그램에서 사용할 수 있는 클래스를 지원합니다.BeOS R5에서 지원되는 OpenGL 버전은 1.1로 소프트웨어 처리 속도가 향상되었지만 키트는 하드웨어 중립적이었으며 실제로 설계 또는 [5]구현의 근본적인 비효율성으로 인해 유사한 레이텐시/대역폭 성능을 제공할 수 없었던 경쟁 플랫폼에서 실행 중인 많은 하드웨어 구현보다 성능이 뛰어났습니다.
- 디바이스 키트
Device Kit는 플랫폼 추출형 하드웨어로 시리얼 포트와 병렬 포트에 직접 액세스할 수 있으며 BeBox의 악명 높은 GeekPort도 이용할 수 있습니다.
- 로케일 키트
로케일 키트는, 애플리케이션의 국제화 및 현지화를 실시하는 클래스를 제공합니다.실행시에 다른 언어로 변환 및 언어 스트링의 전환, 타임 존, 날짜, 및 [6]유저의 로케일 설정에 따른 번호 포맷의 표기법 관리 등입니다.이 키트는 BeOS API의 Haiku 구현에서만 찾을 수 있습니다.
- 서비스 키트
서비스 키트는 웹 서비스에 대한 경량 직접 연결을 제공합니다.이 키트는 BeOS API의 Haiku 구현에서만 찾을 수 있습니다.
- 웹 키트
웹 키트는 웹 페이지를 렌더링하는 수단을 제공하며 애플 웹 키트의 포크입니다.이 키트는 BeOS API의 Haiku 구현에서만 찾을 수 있습니다.
- 패키지 키트
패키지 키트는 Haiku 패키지 파일 읽기 및 쓰기, 저장소 추가, 삭제 및 쿼리 등의 소프트웨어 저장소 관리 태스크, 설치, 삭제, 업데이트 및 패키지 의존관계 해결 등의 패키지 관리 태스크를 개발하는 것을 목적으로 하는 애플리케이션 프로그래밍 인터페이스를 제공합니다.ing.[7] 이 키트는 BeOS API의 Haiku 구현에서만 찾을 수 있습니다.
비BeOS 구현
Be API의 대부분은 오픈 소스 BeOS를 대체하기 위해 Haiku에 의해 재실장되었습니다.단, BeOS R5 이후 몇 년 동안 IMAP, 암호화 연결 및 다중 계정을 지원하는 메일 키트에 대한 대규모 변경, OpenGL 1.5로의 이행 등 몇 가지 추가 기능이 추가되었습니다.Mesa 3D를 통한 지원.
대체 시스템은 BeOS API에서 영감을 얻으려고 시도했지만 포트 기반 애플리케이션을 제공하려고 시도하지 않았습니다.
Gobe Software는 GTK+를 사용하여 Microsoft Windows 및 이후 Linux에 대한 API의 대부분을 프라이빗 포트로 제공하여 Gobe Productive Office Suite를 원래 개발되었던 BeOS에서 이러한 플랫폼으로 이식할 수 있도록 했습니다.
문서
전체 API는 BeOS Revision 3 단계에서와 마찬가지로 1997/8년에 O'Reilly Media가 Be, Inc.의 각인 하에 발표한 Be Developer Guide와 Be Advanced Topics라는 두 개의 종이책에 기록되었습니다.또한 이를 디지털로 표현하여 BeOS 자체에서 업데이트하였습니다.2007년, 주식회사 Be, Inc.의 지적재산의 소유주인 ACCESS Co Ltd는 크리에이티브 커먼즈 [8]라이선스로 이 내용을 발표했습니다.
레퍼런스
- ^ Be Inc. 1997, 2장 "애플리케이션 키트"
- ^ Be Inc. 1997, 3장 "스토리지 키트"
- ^ Be Inc. 1997, 4장 "인터페이스 키트"
- ^ "Introducing the Layout API". The Haiku Book. Haiku Documentation Team. Retrieved 15 November 2021.
- ^ ATI Radeon/Voodoo2 OpenGL 벤치마크, BeOS와 Windows 98이 다시 등장! 누가 더 빠릅니까? By Eugenia Loli, 2001년 10월 16일, BeNews
- ^ "Introduction to the Locale Kit". The Haiku Book. Haiku Documentation Team. Retrieved 6 December 2021.
- ^ "Package Management Infrastructure". Haiku internals documentation. Haiku development team. Retrieved 24 November 2021.
- ^ ACCESS 주식회사 BeBook과 Be 뉴스레터 발매 by koki, 2007-04-03, 하이쿠 프로젝트
참고 문헌
- Be Inc. (1997). Be Developers Guide. O'Reilly. ISBN 1-56592-287-5.