thrift/tutorial
Kevin Wojniak a392566e9b THRIFT-4896 - prevent cpp and c_glib include directories from leaking into other targets (#1821)
- enable the automake `nostdinc` option
- fix up include paths
2019-07-01 14:07:45 -04:00
..
as3 THRIFT-2392: Actionscript tutorial 2014-03-11 22:21:07 -04:00
c_glib THRIFT-4896 - prevent cpp and c_glib include directories from leaking into other targets (#1821) 2019-07-01 14:07:45 -04:00
cl THRIFT-4676: Fix intermittent CL build failures 2018-12-05 16:09:10 -05:00
cpp THRIFT-4896 - prevent cpp and c_glib include directories from leaking into other targets (#1821) 2019-07-01 14:07:45 -04:00
csharp THRIFT-4753: re-version master to next release 0.13.0 2019-01-25 23:33:54 -05:00
d THRIFT-4717: fix up make clean with autoconf 2019-01-25 23:33:54 -05:00
dart THRIFT-4717: fix up make clean with autoconf 2019-01-25 23:33:54 -05:00
delphi THRIFT-4841 THTTPTransport relies on activeX component 2019-04-06 09:53:09 +02:00
erl THRIFT-4426: remove a symbolic link that was checked in 2018-12-27 13:03:23 -05:00
go Replace git.apache.org imports with github.com 2018-10-19 07:48:56 +01:00
haxe THRIFT-4398 Update EXTRA_DIST for "make dist" 2017-12-01 23:01:41 +01:00
hs THRIFT-4717: fix up make clean with autoconf 2019-01-25 23:33:54 -05:00
java THRIFT-(1418|1507|3983|4120|4178|4259|4294): Multiple issues 2018-01-24 12:28:55 -05:00
js THRIFT-4546: replace all git-wip-us.apache.org to github.com 2018-12-28 07:46:47 -05:00
netcore THRIFT-4717: fix up make clean with autoconf 2019-01-25 23:33:54 -05:00
netstd THRIFT-4840: Updated the README for the netstd tutorial 2019-03-31 16:16:56 +02:00
nodejs configure.ac, Makefile.am: introduce THRIFT variable to support cross-compilation 2017-09-09 07:50:54 -07:00
ocaml THRIFT-4753: re-version master to next release 0.13.0 2019-01-25 23:33:54 -05:00
perl THRIFT-4382: Replace the use of Indirect Object Syntax calls to new() 2018-10-17 19:13:45 -04:00
php THRIFT-4405: fix cygwin on appveyor 2019-02-01 11:13:49 -05:00
py THRIFT-4351: use travis build stages to optimize build, 2017-10-19 11:29:04 -04:00
py.tornado configure.ac, Makefile.am: introduce THRIFT variable to support cross-compilation 2017-09-09 07:50:54 -07:00
py.twisted THRIFT-4405: fix cygwin on appveyor 2019-02-01 11:13:49 -05:00
rb configure.ac, Makefile.am: introduce THRIFT variable to support cross-compilation 2017-09-09 07:50:54 -07:00
rs bug fixed 2019-07-01 11:40:42 -04:00
Makefile.am THRIFT-4723 Consolidate C#/netcore into new netstd language target 2019-01-28 23:12:28 +01:00
README.md THRIFT-2407 use markdown (rename README => README.md) 2014-03-19 06:47:47 +01:00
shared.thrift THRIFT-4723 Consolidate C#/netcore into new netstd language target 2019-01-28 23:12:28 +01:00
tutorial.thrift THRIFT-4723 Consolidate C#/netcore into new netstd language target 2019-01-28 23:12:28 +01:00

Thrift Tutorial

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Tutorial

  1. First things first, you'll need to install the Thrift compiler and the language libraries. Do that using the instructions in the top level README.md file.

  2. Read tutorial.thrift to learn about the syntax of a Thrift file

  3. Compile the code for the language of your choice:

    $ thrift $ thrift -r --gen cpp tutorial.thrift

  4. Take a look at the generated code.

  5. Look in the language directories for sample client/server code.

  6. That's about it for now. This tutorial is intentionally brief. It should be just enough to get you started and ready to build your own project.