What programming languages can be used to develop Google Fuchsia applications?
Google Fuchsia required Development SDK : Flutter.
Google Fuchsia Supported languages
C/C++
Dart
FIDL
Go
Rust
Flutter modules (to write a graphical module)
official documentation
https://fuchsia.googlesource.com/docs/+/ea2fce2874556205204d3ef70c60e25074dc7ffd/development/README.md
The apps are primarily developed in Flutter SDK, in Dart.
But reportedly, apps made for Android are going to work seamlessly on Fuchsia as well:
https://www.businessinsider.com/google-fuchsia-run-android-apps-2018-4?IR=T
Depends on which layer you are working, if it is about low level, around kernel then you should consider C, C++. FIDL and all are interface definitions but the programming language is C, C++. You should have all the focuses on C++ to start with.
If you are into application development then you should get your hands dirty with Rust programming which will be eventually be developed in Flutter. And the internal runtime mechanism is Dart. So concentrate in Rust to start with.
Google has added Python to its Fuchsia Programming Language Policy.
Please note that if you intend to write code outside the Fuchsia Platform Source Tree, not all languages are supported
The current complete list:
C
C++
Dart
Rust (not supported for end-devs)
Go (not approved)
Python (not supported for end-devs)
Related
I'm currently working on building Chess in C++ for a school project. It's coming along really well, and I'm going to need to implement graphics pretty soon. Although I'm going to implement the graphics in X11, I was wondering how I might do it with WebAssembly, specifically which libraries are most similar to X11 that I could use. The GraphicsDisplay would just be an Observer to my Game class.
You cannot program in X11 with WebAssembly, you need graphics frameworks.
Currently the only GUI framework that officially support WebAssembly is Qt. Have a look at its official documentation on WebAssembly. I recommend learning Qt Widgets in a common desktop environment (Linux, Windows, Mac...) then try to port it in WebAssembly.
The other way to implement graphics with WebAssembly is using frameworks for game. Emscripten (C/C++ to WebAssembly toolchain) has a strong support for OpenGL-based games. You probably want to look at SDL.
I am thinking about buying a DJI Mavic pro Drone to develop my own scripts for Deep learning tests like autonomous flights, object recognition, and a lot more.
I want to know which libraries or SDK are out there to do this and what kind of programming languages it requires to do so?
I know some cheap drones allow you to program scripts in Python or many different languages and also you can change prewritten functions of their SDK, but what about DJI?
All SDKs and documentation are available here: http://developer.dji.com/mobile-sdk/
For Mavic Pro, we support iOS and Android and we have for both an SDK with all controls you might want along with a VideoPreviewer for handling the video feed and a UILibrary for drone-specific app UI objects.
For languages:
iOS: Objective-C, Swift or C++ will work fine.
Android: Java.
Finally if you are interested in object recognition, check out this project:
https://github.com/game-of-drones/dji-mobilesdk-vision
For a Mavic I think it would have to be iOS or Android
http://developer.dji.com/mobile-sdk/
I just discovered Sphero and I love this little ball, so I want to develop apps!
Is there a common coding language that most of Sphero's app developers use so that I can learn it and start building?
From glancing over this page http://developer.gosphero.com. You can use Java for developing on the Android platform and Objective-C for iOS. Looks like there is also a plugin for Unity that uses C#.
That webpage also contains guides for the individual platforms and examples.
You could also use ruby with artoo framework: http://artoo.io/documentation/platforms/sphero/ or javascript with cylon framework: http://cylonjs.com/documentation/platforms/sphero/ or even go, with gobot.io/documentation/platforms/sphero/ framework too.
If you want to use Python, there are 2 options beyond the ROS Python plugin currently listed on the developer page.
SpheroNav
SpheroNav was written by Simon Nistad for his master's thesis in 2014, designed to support the control of multiple Spheros. I have forked his code, and will be extending it in upcoming months.
https://github.com/hydrosquall/SpheroNav
Kulka
This is a project by Karol Szuster, aimed at new programmers. Unfortunately I wasn't able to get his example code to work on my windows laptop, but maybe you'll have better luck.
https://github.com/zdanowiczkonrad/PythonSphero
This is not a programming question but its more general. I have worked with lot of gui libraries to develop Pc/Mobile applications. Like cocoa for mac and iphone developemnt, .net libraries for c#, qt for c++. In an nutshell using of library depends on the language,developing platform and target platform.
Now my question: does that mean we have to choose language and platform according to GUI we want to build? for eg, I like the GUI and GUI componenents(their visual appearence) of the mac the most. Then should I use objective c and mac platform? If I want good looking GUI then should I choose language and platform according to that?
Thanks and regards
does that mean we have to choose language and platform according to GUI we want to build?
Yes, the language and the platform you are targeting are the first things you have to choose. Unfortunately there's no universal language that will give you great looking GUIs among all platforms. Probably that's one of the reasons why internet web sites developed so much. Because as long as you have a capable browser running on your device the site will work.
I'm tasked with "porting" a few apps from a Windows environment to various mobile platforms and Mac as well.
I plan on writing MVC patterned apps in which I write as many controllers as I can in some sort of universal library, probably in C or C++. Then writing the views in various choice languages (Objective C, Java, .NET, whatever) for the target OSes.
I've never attempted anything like this before, so my questions are: Is it possible to write and compile one library that can be used on iPhone, Android, Blackberry, Windows and Mac? Is it even wise to try this?
I understand that certain native methods simply won't be available on each platform.
You can create a library whose source code is portable, assuming that you properly abstract away any platform-dependent calls. You can't, however, create such a library, compile it, then use it anywhere; you'll have to compile it for each platform.
Your should take a look at the Mono Project. http://www.mono-project.com
...more specifically at :
MonoTouch: To develop iPhone applications in .NET
MonoDroid (BETA): To develop Android applications in .NET
Mono plugin for MeeGo: To develop MeeGo applications in .NET
And you know that you can develop on Windows Mobile in .NET already.
I've haven't found anything related to BlackBerry yet.
There are services like Rhomobile and Appcelerator which will allow you to do this sort of cross compiling.
I've never used either however.