On Sat, 26 Dec 2015 12:50:50 +0100 Stanislav Baiduzhyi <[email protected]> said:
> On Sat, Dec 26, 2015 at 8:48 AM, Simon Lees <[email protected]> wrote: > > Hi, > > > > I presume your asking because python is your stronger language, if thats > > the case yes the python bindings are in reasonable shape. epymc is a > > decent sized application written in python and there are a couple of > > smaller ones such as Lekha epymc and epad, all of which are reasonable > > and show the bindings are capable if you want to go that way and find it > > easier. > > > > In terms of issues to watch for the main one I found was that most parts > > of efl including its event loop will want to run in the main thread, > > which if you have other libs that would normally want to do that could > > cause issues. It took a while for me to get a websockets lib that would > > play ok with it. > > > > I haven't done alot of efl development with either python or C++ in my > > day job i'm a Qt programmer but I maintain enlightenment in openSUSE for > > fun so I don't think i'm that biased. > > > Hi Simon, > > Thanks for your reply! And huge thanks for maintaining openSUSE > packages as well, they inspired me to switch to terminology and start > learning EFL. > > I've been reading some docs yesterday and have more specific questions now... > > First of all, I am familiar with dispatch thread for UI from Java and > Qt, both of them provide some instruments to submit events (or signals > or just Callables) into dispatcher. I am almost certain there should > be something similar in EFL, but what about python-elementary? > > Also, there is Efreet and Eio, don't know how useful are they atm but > description is promising, are they also included in bindings or are > those bindings Elementary-only? so yeah - dispatch thread -> mainloop. that's where main() in c/c++ would be and what would exist unless you CREATE a thread. efl has various ways to send code to run in the mainloop context. ecore_thread_* api calls in c do this. https://docs.enlightenment.org/elementary/current/threading.html shows several ways to do this. but this is c. not python. the idea simply is that pretty much everything in efl wants to run in the mainloop - ui, event handling, rendering etc. - you can stuff things off into threads then message the mainloop "when done" to update the ui for example. some things like eio do this for you and call callbacks in the mainloop context - all callbacks are called from the mainloop unless explicitly documented otherwise. python is probably easier to code with, but you will find that the bindings are not complete. sometimes you will hit a problem and the answer will be "this api solves it" then that api may not be bound so you may get stuck. if you are willing to live with the limitations - then python is easier. otherwise c/c++ will get you complete access. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [email protected] ------------------------------------------------------------------------------ _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
