Languages

Menu
Sites
Language
Tizen native language is C++ right ?

Dont think I'm not a developer. I developed application for Tizen since 2013 and stop developing for this platform 2 years ago. Last time using Tizen SDK I still feel comfortable with C++ as native language. But now I come back and see every UI Sample use EFL is written in C instead of C++ with long long long function name. There is not "Add new -> Add new class" anymore. I have to add .h and .cpp file separate. And now my IDE showing error "error: unknown type name 'class'" when I decleare a class. 

Where is C++ for Tizen that I know ? 

Responses

12 Replies
Dinh Hao

I found a solution. I remove .h file and make all in cpp file. Never think I have to do this with any C++ IDE.

Mango Bar

yes, Both C and C++ are tizen native language.

In Tizen studio, you have to put header file in inc folder and source file in src folder separately. You have to create cpp extension file to use cpp code by right clicking on src folder

src --> New --> File--> file name should have .cpp extension

Check the followin screenshot

http://imgur.com/a/iDrpG

http://imgur.com/a/EFKd2

Then you have to change compiler settings for C++

1. Select  LLVM GCC-4.9/ GCC 4.9 from  Project Properties Project Properties -> C/C++ Build -> Tizen Settings.
2. You also need to set the dialect in Project Properties -> C/C++ Build -> Settings. Under C++ Compiler / Dialect, set the language standard to C++11.

Eugene Kurzberg

Current native language for Tizen is C in the sense that all API are C function. Of course you can still use C++ in your applicaiton as mentioned above, however there is no C++ API. There is a C++ UI library called DALi, you can try using that if you want your application to be more C++. The rest of the API however is still in C. Samsung is currently launching a C# support and API which might be more preferable in the future.

Gary V

Due to the fact that Tizen native application development API, the EFL framework, is C -based, the Tizen native language is C. Not C++. Yes, you can consume C++ with Tizen as well, but you will be forced to use C -style procedural programming and idioms anyway.

 

Have a look at the "Design your Tizen app with EFL" video tutorial, at around 5 minutes. Even if you use C++, your code will look just the same, with blocks after blocks of C statement groups. More relevant discussion can be found in the old "Native application in c++" thread.

 

On a lighter note, I hear a lot of buzz that with the introduction of Tizen 4.0 and Tizen Studio 2.0, Samsung is planning to launch a new "@BSURD Battery Life Initiative", requiring Tizen developers to switch to ARM assembly for all UI programming, through something called "HRD Toolkit".

 

Gary

Dinh Hao

WHAT ? ASSEMBLY ? DONT TELL ME THEY DONT WANT DEVELOPERS.

I'm a little shock when I came back to Tizen after 2 years and all API before was not there anymore (and they use C instead of C++).

John Ixion

assembly was a joke of course ;)

John Ixion

C and C++, both are used for Tizen Native application development. However, Most of the given sample applications are written in C and the default IDE settings can’t recognize C++ code. So, a beginner in Tizen development may face hard time to write code in C++ as he/she can’t use many magical features of C++. This article demonstrates how to make Tizen studio C++11 compatible so that developers can use C++ for Tizen native application development.

 

https://developer.tizen.org/community/tip-tech/c-tizen-native-application

John Ixion

If you’re a C++ passionate and want to/have to develop in Tizen, you’re going to love App Assist Efl library! It was created by Samsung engineers in order to make Tizen apps development easier. Thanks to it we can create Tizen apps in objective way.
In fact it is a C++ wrapper of C Tizen API. It provides series of classes that we can inherit from in order to create apps in modern and modular way.

 

http://tizen.jdm.host/native-development-in-c/

John Ixion

Gilang Mentari Hamidy - Samsung R&D Institute Indonesia

 

 

The Tizen Native API officially embraces procedural-style programming paradigm using the C programming language. This creates a “language-barrier” for software developers who are migrating from popular development platforms, which usually use higher level programming languages. Although EFL, the UI library provided in Tizen Native API, is very powerful, it also introduces boilerplate codes which are unnecessary for fast application development lifecycle. Fortunately, the nature of Flat-C API introduced by EFL in Tizen opens the possibility to be adapted to programming environments other than C. The adaptation is quite straightforward which enables us to encapsulate boilerplate codes into a reusable framework library. We developed a library called Tizen Fundamental Classes (TFC) which utilizes modern C++. We designed TFC to be easily understandable by developers who are familiar with popular programming paradigms and patterns. We introduced the Model-View-Controller framework for application development, a smooth bridging component between C++ objects and EFL objects, and we also introduced Domain Specific Language (DSL) in developing a seamless asynchronous code, similar to popular programming platforms. This presentation will focus on presenting the basic features of TFC, demonstrating how to develop native applications with TFC, and compare it to popular platforms. This presentation also covers some advanced features of TFC such as asynchronous codes and serialization. SRIN has been using TFC since the first Tizen project in late 2015, and it has been evolving ever since. We have developed at least 6 applications using TFC which are now published in Tizen store. Those apps including Salaam, a Muslim application, Detikcom, Kompas, and CNN Indonesia, which is a popular news platform in Indonesia, as well as Samsung Gift Indonesia. We are currently developing a worldwide scale messaging application, Telegram, using TFC and is expected to be published soon. We aim to publish TFC as an open source library to provide more options for developers to develop native applications in Tizen, as well as to reduce the unwillingness of developers to write native apps for Tizen due to language and platform barrier.
 
John Ixion
Gary V

Tizen Fundamental Classes (TFC) seems to be an interesting initiative, but it currently seems to have only two (2) active GitHub contributors. Is TFC "officially" supported by Samsung? Is it considered to be a part of the official Tizen SDK, thus "guaranteed" to be maintained in future Tizen versions, just like EFL? What exactly is the status of the TFC project at this point?

 

Thanks,

 

Gary

John Ixion

TFC has a separate topic now: 

https://developer.tizen.org/forums/general-support/rapid-native-app-development-using-modern-c

could you post your question there please ;)