How Exactly Do You Build A GUI Application in Squeak - smalltalk

All the tools that i searched are 2005 or 2006 and so i dont even dare to try those. I understand that morphic is ok , but i am looking for something like Morphic Designer.
http://www.youtube.com/watch?v=rmlgU5p4g3o
If you look at this link you will feel all excited and will be tempted to try it out. But unfortunately in todays squeak you cannot even load those mentioned packages. Its a pity. Any help is appreciated.

AFAIK the Morphic Designer is currently in a better state than the GsoC project to build a UI designer for spec. It seems to be usable for more complex interfaces, atm. The main issue in making it work with Pharo is probably the use of the signals library. That is somewhat equivalent to Announcements, but it follows QT style. And of course there are differences in which widgets are being used.
The number of actual users seems to be too low. I think HPI should open up their CI for these kinds of projects.
In a discussion on the Pharo Users mailing list some issues and solutions for making Morphic Designer work on Pharo 2.0 and 3.0 are described.

Have you tried loading the Morphic Designer? If so, how?
https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/designer
The Designer should load in Squeak 4.3 and I see no reason that it
won't load in 4.4.
If you find issues loading the Designer, pleas let the developer know!
I happen to know that Marcel really cares that the designer is usable.

The development version of the Morphic Designer works fine in Squeak 4.4 as I use it frequently for my research:
(Installer mc http: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/')
project: 'MetacelloRepository';
install: 'ConfigurationOfDesigner'.
(Smalltalk at: #ConfigurationOfDesigner) loadDevelopment.
UiDesigner open.
As you may have noticed, this will bootstrap Metacello and also load Signals, Animations and Widgets into your image. I am using the latest build of the CogVM.
I started to port it (Widgets & Designer) to Pharo 2.0. However, Pharo 2.0 is not fully supported yet.

Finally i could open the UiDesigner.
Im not sure if i am all0wed to use this in my personal projects. as #aka.nice ponted out this dont belong to the squeak community, rather it belongs to Hasso Plattner Institut. Correct me if i am wrong. Anyway i belive since i was able to get it, i can use it too. So ppl looking for Morphic Designer/ UiDesigner/ GUI in Smalltalk/Squeak can get it this way. WARNING - this is - as of 23/12/2013. This may change without prior notice and that u will have to look for other alternatives to get this.
Also id like to see this in pharo too. I had asked this question to the pahro community some months before. At that time i managed with glamour.
(Installer monticello http:'http://seaside.gemtalksystems.com/ss')
project: 'metacello';
install: 'ConfigurationOfMetacello'.
((Smalltalk at: #ConfigurationOfMetacello) project
latestVersion) load.
(Installer mc http: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/')
project: 'MetacelloRepository';
install: 'ConfigurationOfWidgets'.
(Smalltalk at: #ConfigurationOfWidgets) load.
(Installer mc http: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/')
project: 'MetacelloRepository';
install: 'ConfigurationOfDesigner'.
(Smalltalk at: #ConfigurationOfDesigner) load..
UiDesigner open

Spec is an easy-to-use framework for building GUIs. It's not as easy as a GUI builder though. If you want to learn more, there are plenty of examples in Pharo itself a small tutorial at
https://ci.inria.fr/pharo-contribution/job/PharoForTheEnterprise/lastSuccessfulBuild/artifact/Spec/Spec.pier.html
http://www.bahmanm.com/blogs/spec-part-1-basics

Related

Will Xcode 8 support plugins (-> Alcatraz)

Apple introduced Xcode source editor extensions with Xcode 8.
Will Xcode 8 still support plugins served via Alcatraz?
Xcode 8 prohibits code injection (the way plugins used to load) for security reasons. You can circumvent this by removing the code signing on Xcode. Both of these tools are capable of simplifying that:
https://github.com/inket/update_xcode_plugins
https://github.com/fpg1503/MakeXcodeGr8Again
To work on Xcode 8+ without removing the code signing, plugins will have to be rewritten as Xcode Source Editor Extensions. Unfortunately, the APIs for these extensions only allow for text replacement at the moment, so they are not an adequate replacement.
I've filed a report on rdar, do not hesitate to express your mind as well:
Xcode is a primary tool for the development on all Apple platforms.
People can either love or hate it, the fact is it's still the most
powerful development tool around.
Lots of its power and usefulness has been achieved by 3rd-party
plugins, later covered by the Alcatraz project, which is the number
one extension management system for Xcode, as vital and needed as for
example npm is needed for Node.js. It's all based on a fair, aware
community developing its helpful open-source extras and publishing
them on GitHub. It's not a code-injecting ghetto targeting infecting
stuff. It's a community within a community.
Xcode 8 tends to drop support for these plugins, most often being
narrated as a security step in favour of preventing distribution of
injected stuff. This is false; you simply can't prevent that 'cause
there's always someone who finds the way. This step simply makes Xcode
was less usable, complicated and not that feature-rich. There are many
important plugins which developers love, contribute and move forward
to make Xcode even better, tell yourself honestly, mostly even better
than you could in a short period.
The community needs powerful stuff. Way more powerful than basic
source-editing magic. Please reconsider this step in a spirit of
community and support to your developers.
In last years, there's a move towards closing your platform. First
shutting down Spotlight plugins and its great Flashlight plugins
manager, which is simply great and now I need to disable Rootless to
use it. Now it's Xcode plugins. You're doing more and more to make
developers and power users feel sad and not having their computing
device in their hands.
There's a detailed discussion on Alcatraz repo, it says everything:
https://github.com/alcatraz/Alcatraz/issues/475
I'm attaching a list of great plugins I simply can't spend a day
without:
AxeMode – Xcode issues patching Backlight – active line highlighting
ClangFormat – code formatter DerivedData Exterminator – daily need
getting rid or bad stuff FuzzyAutocomplete – name says it all, still
more powerful than Xcode completion HighlightSelectedString MCLog –
console log filtering, including regexes OMColorSense Polychromatic –
variables colouring, cute stuff RSImageOptimPlugin – processing PNG
files before committing SCXcodeMinimap – love this SublimeText-thingy!
XCFixin_FindFix – fixing Find features XcodeRefactoringPlus – patching
Refactor functionality, still buggy, but less than Xcode without
plugin XToDo – TODOs collection ZLGotoSandbox – 'cause dealing with
your folders would be a hell without it
Most of them are not source code-related, thus deserve having a way to
be loaded and working like a charm again.
You can certainly load all your plugins by recode signing Xcode 8.0. All credits to the XVim team. They seemed to solve this problem.
https://github.com/XVimProject/XVim/blob/master/INSTALL_Xcode8.md
The Most Important Step From The Solution
There is no support and we can't expect any. Apple decides to shut down the ecosystem around the Alcatraz package manager before they have an api ready (extensions) that is able to do what the plugins were doing before. The extensions are currently limited to the text frame which does not allow to do much.
The main reason announced by apple is security and we can now disable code signing with effort to get back the most important features that were missing in Xcode.
Bad day for the community, bad decision from apple.
I also recommend the discussion on Alcatraz here: https://github.com/alcatraz/Alcatraz/issues/475
Most importantly if you want to support Alcatraz file a bug at http://bugreport.apple.com to make them aware that many people are suffering with this change
I did the same (openradar.appspot.com/28423208):
Xcode is a primary tool for the development on all Apple platforms.
People can either love or hate it, the fact is it's still the most
powerful development tool around.
Lots of its power and usefulness has been achieved by 3rd-party plugins, later covered by the Alcatraz project, which is the number
one extension management system for Xcode, as vital and needed as for
example npm is needed for Node.js. It's all based on a fair, aware
community developing its helpful open-source extras and publishing
them on GitHub. It's not a code-injecting ghetto targeting infecting
stuff. It's a community within a community.
Xcode 8 tends to drop support for these plugins, most often being narrated as a security step in favour of preventing distribution of
injected stuff. This is false; you simply can't prevent that 'cause
there's always someone who finds the way. This step simply makes Xcode
was less usable, complicated and not that feature-rich. There are many
important plugins which developers love, contribute and move forward
to make Xcode even better, tell yourself honestly, mostly even better
than you could in a short period.
The community needs powerful stuff. Way more powerful than basic source-editing magic. Please reconsider this step in a spirit of
community and support to your developers.
In last years, there's a move towards closing your platform. First shutting down Spotlight plugins and its great Flashlight plugins
manager, which is simply great and now I need to disable Rootless to
use it. Now it's Xcode plugins. You're doing more and more to make
developers and power users feel sad and not having their computing
device in their hands.
There's a detailed discussion on Alcatraz repo, it says everything:
github.com/alcatraz/Alcatraz/issues/475
I'm attaching a list of great plugins I simply can't spend a day without:
AutoHighlightSymbol - Add highlights to the currently selected token
ClangFormat – code formatter
DerivedData Exterminator – daily need getting rid or bad stuff
FuzzyAutocomplete – name says it all, still more powerful than Xcode completion
KZLinkedConsole - be able to click on a link in the console to open the relevant file and be faster to debug
PreciseCoverage - nicer gui than xcode provides to view the coverage
XcodeColors - shows colors in the console depending on log level (how else should a console be used?)
Most of them are not source code-related, thus deserve having a way to be loaded and working like a charm again.
If you do not make a fast step to support your community i'm sure we
will find another platform to work with.
Seems like this should work. Found some answers here:
https://github.com/alcatraz/Alcatraz/issues/475
The key seems to be to removing code signing in order to get existing plugins to work.
Apparently not :'(
https://github.com/alcatraz/Alcatraz/issues/475
We have to wait until someone convert the plugins into the new Xcode Extensions

setup of xamarin studio to work with PCL & MVVMCross

I really enjoy Xamarin Studio and I'm looking for a template solution to start developing a cross devices application with MvvmCross.
But I can't find how to set a project to work with PCL and MvvmCross with Xamarin Studio.
If anyone can give me a link where I can find a tutorial to make it, it would be awesome.
I would be very pleased to contribute to this community by giving my feedback and providing some tutorial about how to start using Xamarin Studio, PCL MvvmCross and get rid of Visual Studio :D
As #duDE's answer pointed out, for working in Visual Studio on the PC in the pre-Xamarin2.0 world, there were quite detailed instructions available on http://slodge.blogspot.de/2012/12/cross-platform-winrt-monodroid.html
As various releases of Xamarin 2.0 have been released over the last month, these type of instructions have become more and more difficult to keep up to date... and this situation is likely to continue for a little while yet as Xamarin are currently adding:
.Net 4.5 (Mono 3) support
async/await support
PCL support
This work is being done with some urgency, but without any official target date - so I'm afraid there isn't any easy way to predict dates for Alpha, Beta or final availability.
For the current OSX setup, I think you can use:
the current XamarinStudio/MonoDevelop - 4.0.2
the current stable Xamarin.iOS/MonoTouch and Xamarin.Android/MonoDroid - do not use the Aplha channel
For the current PC setup, I think you can cannot use Xamarin.iOS, but you can use:
VS2010 or VS2012
the current stable Xamarin.Android/MonoDroid - do not use the Aplha channel
with just a couple of changes:
you need to add two supported framework xml files - one for Android and one for MonoTouch - you can find these on http://slodge.blogspot.co.uk/2013/03/xamarinios-with-mvvmcross-in-vs2012.html
For discussions on getting things building and running, don't use StackOverflow - instead use one of:
http://forums.xamarin.com/discussion/1549/pcls-and-mvvmcross-in-the-new-tools#latest
as a backup you can also try https://jabbr.net/#/rooms/mvvmcross
Don't even think about trying to get an MvvmCross app built - on the free version of Xamarin - it's limits are way too low for any app I've tried to build.
If you are looking for some starting app templates, use: https://github.com/slodge/MvvmCross-Templates
If you are looking for some pre-built binaries, use one one of the folders on: https://github.com/slodge/MvvmCross-Binaries - please note that portable libraries built on the Mac are not portable across to the PC (or vice versa) - they will be 'soon' but not yet.
Sorry for the fact that we don't have a neater, finished solution... we've now been fighting to hack PCLs into Xamarin for a year. However, the good news is that really soon that battle will be over and we can all get on with the apps :)
I guarantee this answer is out of date inside a week...
Xamarin.Studio 4.2 allows you to create PCL projects.
Take a look at this article: http://slodge.blogspot.de/2012/12/cross-platform-winrt-monodroid.html
Many information about using PCLs as well as some special infos about MVVMCross

Ironpython questions

I have a few questions that I hope clarity and facts can be fed all of us about this. First, the last release of ironpython had the feature of running on the mobile platform highlighting that on mono/android it runs best and not so much on the other platforms which are IOS and Windows phone. So does this mean one doesn't have to use the SL4A? Can i argue that monodroid hooks into the core of what android is capable of and so might give a more robust access/implementation/rendition of apps on android?
Next, I just want to be sure of this: As with python you can create full fledged desktop applications with ironpython right? Cos everywhere (almost) I see ironpython they refer to it as a scripting tool and how you can script aspects of excel etc which has prompted me ask such a question. some say that the speed of applications written using ironpython is not that great and I was arguing asking for why that opinion is held by those who were speaking and no one could say anything worthwhile.
Lastly, with the movement at novell and xamarin, I have not understood where mono stands in their release schemes. I have a mac and I installed a recent version of mono and when I typed ipy I saw something like mono 1.1.0 or something like that. Does anyone have a clue of what is going on with it.
I fell in love with python from learning ironpython and I think the ironpython concept is just sheer brilliance its a pity microsoft esteemed F# other it.
First off, for future reference, multiple questions should really be, well, multiple questions. :)
On IronPython for Android: it works slightly better than on other platforms (where it doesn't work at all right now) but it's still very, very early code. There are some limitations with what you'll be able to do (mainly, you cannot inherit from Java classes from dynamic code). It's very experimental.
On desktop apps: You can absolutely write full apps in IronPython. There are some samples that show how it can be done. In particular, PyWpfSample and PyGtkSample. Startup times are not great, but the actual runtime should be just fine for most GUI apps.

Which library to install on target?

I’m new to Qt Quick. So, This might sound like a dumb question. But I’m struggling with this.
I want to develop a complete UI for my embedded system using Qt Quick. So, I need QML to run my system.
Now, which library to install on my target embedded linux system.
I ‘ve seen this page : http://qt-project.org/downloads but it shows the library with 228MB! which will float my system size abnormally. I expect my system to be around 50MB only! I think this comes with lot of things which I may not want.
I may use qml, for internet browsing purpose parts of webkit (webkit module for qtquick)
xml.
So, Can you please help me which to install? & how??
Thanks & Regards
inblueswithu
Check http://qt-project.org/doc/qt-4.8/qt-embedded-install.html for a initial documentation.
Please note, that this will install everything, meaning all Qt modules. You might be able to strip some of them away, also you might now need all image plugins. However, as a start this should work for you.

Worth Upgrading from Intellij Idea7 to Idea8?

I use Intellij Idea 7 for Java dev. My dev is 'limited' to all J2SE features plus light JSP, Servlets, and super light usage of JPA. No J2EE, no massive use of random frameworks, etc.
Is it worth upgrading to ver 8? "Worth it" to me means better "core functionality" in terms of speed (ESPECIALLY startup speed), memory utilization (seems like it starts having serious problems with four or more projects open), and auto bug-finding.
More frameworks supported and more languages supported (other than perhaps Haskell and C++), and more refactorings don't interest me at this time.
A while back, I installed a preview version of 8 and it seemed -exactly- the same as 7, as far as my needs were concerned.
Anyone loving the upgrade to 8, and if so, why?
Thanks
It also seems to be easier to configure a new project over top of a complex collection of existing code.
For example, something that you would naturally configure into 5 or more modules.
There is a really beautiful go to/create test wizard that is bound to ctrl-shift-T. Worth the upgrade by itself
The best way to tell is to check out the list of new features and decide for yourself. I haven't discovered any single feature so far that by itself is worth upgrading - the simplified UML view is quite nice, as is the improved Maven integration. The UI feels a bit more streamlined and faster. It seems like most of the attention has gone into non-Java features like better Flex support (which I am really thankful for as I don't like FlexBuilder but I haven't had a chance to use yet).
IntelliJ 8 has a configure plugins feature that allows you to disable plugins with dependencies. Nothing trial and error couldn't replicate, but it is nice.
Startup is only marginally slower. But indexing once opened is a lot faster than before, even unnoticeable for most projects, except after a commit to Subversion. It seems a commit to subversion triggers the indexing twice.
I am working on the Diana-EAP build - but 8 has git integration built in. The EAP has better git integration than the 8.0.1 release - it looks like that is something they are really focusing on.
Definitely not! Seems that the variables defined in our custom taglibs are no longer able to be used in the jsp (worked in 7.0.4). All red. No auto complete.
Oh, and the new settings menu is horrendous!
Some benefits of IntelliJ IDEA 8:
IDEA 8 supports Subversion 1.5 new functionality - e.g. merge tracking, which may be useful especially if your team (like ours) uses a lot of development branches and thus merging is frequent.
One detail I appreciated about IDEA 8: As you probably know, IDEA has had changelists for pretty long now, built on top of any underlying version control system - this is a really useful feature. So, now that Subversion itself supports changeslists, IDEA's changelist implementation has been changed so that it is perfectly compatible with Subversion's native changeslists. (For example, you'll be able to work with any changelists created in IDEA also when using svn command line tools directly.)
Edit: in your case, perhaps it is not worthwhile to upgrade. For me, at least, startup and file indexing seems to be somewhat slower in 8 than 7. [But for me personally the upgrade was definitely worth it, because it solved a long-standing VCS problem with IDEA 7 - it could hang "waiting for VCS sync to finish" for an hour or whatever after hitting Ctrl-K.]