스리프트는 C++로 작성되어 있으나 수많은 언어를 대상으로 코드를 만들 수 있다. 스리프트 서비스를 만들려면 이를 기술하는 스리프트 파일을 작성한 다음 대상 언어로 코드를 생성한 이후 서버 시작을 위한 일부 코드를 작성하고 클라이언트로부터 이 코드를 호출해야 한다. 아래는 이러한 서술 파일의 코드 예시이다:
enum PhoneType {
HOME,
WORK,
MOBILE,
OTHER
}
struct Phone {
1: i32 id,
2: string number,
3: PhoneType type
}
service PhoneSvc {
Phone findById(1: i32 id),
list<Phone> findAll()
}
스리프트는 이러한 서술 정보 외에 코드를 생성한다. 이를테면 자바에서 PhoneType
는 Phone
클래스 안에 단순한 enum
이 된다.