Qt Development in EPICS

Total Page:16

File Type:pdf, Size:1020Kb

Qt Development in EPICS Qt development in EPICS Andrew Rhyder Senior Controls Engineer Australian Synchrotron EPICS GUIs in use at AS • EDM • MEDM • Python • Borland Delphi (AS) • Tcl/tk • KEK • Matlab • Labview QCa Framework • QCa. A cross-platform application and GUI framework based on Qt for accessing EPICS data using Channel Access. • The QCa framework provides a Qt based C++ framework for easy CA access to EPICS data. It provides access to EPICS data at several levels from programmatic reading and writing of data using Qt’s signals and slots through to EPICS aware Qt user interface plugins such as push buttons, sliders, and text widgets. GUI development models • Document model A single static application can open display files. Displays are added by designing new display files. • MEDM – opens .adl files • EDM – opens .edl files • CSS – opens .opi files • ASgui – opens .ui files Part of QCa framework • Application model An application with displays and functionality coded within the application. Displays are added by extending the application. • CSS • Australian Synchrotron control room GUI • QCa framework Code Free GUI development • Rich, robust, intuitive, form editor • Allows interaction with MEDM / EDM and other applications • Integration with other Qt plugins • Any application that can load Qt UI files can display EPICS GUIs Code Rich GUI development • Use existing EPICS display and control widgets for rapid and consistent development • Develop speciality EPICS widgets using Qt friendly EPICS data classes • Include as much or as little application specific code as required Console app development • Full access to EPICS data • Hides most CA specific functionality unless required • Qt signals and slots used for data reading and writing QCa framework development components • Form editor Qt’s Designer • IDE Qt’s Creator • Display application ASgui (QCa framework) • EPICS aware graphical widgets QCa framework • EPICS aware data classes QCa framework Form editor – Qt’s ‘Designer’ IDE – Qt’s Creator Display Application - ASgui Class usage EPICS Aware Qt Plugins: Qt Designer All EPICS aware widgets are wrapped as plugins User Interface Files QCaLabelPlugin QCaLineEditPlugin etc ASGui EPICS Aware Qt Widgets: QCaLabel QCaImage Other plugin based QCaLineEdit QCaBitStatus QCaPushButton QCaProgressBar GUI Applications QCaRadioButton QCaPlot QCaComboBox QCaShape QCaSpinBox QCaPeriodic QCaSlider QCaPvProperties Widget based GUI Applications Data Independant EPICS Access: QCaString QCaInteger QCaFloating QCaByteArray Console Applications C++ CA Library Access: CaObject CA Library Qt Framework QCa Framework class hierarchy Type of access Functionality Main classes to CA data C++ access to the CA library. Provides convenient C++ access to the CA CaObject library. Qt based Hides CA specific QCaObject access to CA. functionality. Adds Qt functionality such as signals and slots. Data type independent Hides EPICS data types, providing read QCaInteger QCaFloating access. and write conversions where required. QCaString EPICS aware graphical Implements graphical Qt based widgets QCaLabel QCaImage widgets. that provide access to EPICS data. QCaLineEdit QCaBitStatus QCaPushButton QCaProgressBar QCaRadioButton QCaPlot ... ... EPICS aware graphical Qt Adds Qt plugin interfaces to EPICS aware QCaLabelPlugin QCaImagePlugin plugins. widgets. QCaLineEditPlugin QCaBitStatusPlugin QCaPushButtonPlugin QCaProgressBarPlugin QCaRadioButtonPlugin QCaPlotPlugin ... ... GUI support widgets Implements Qt based widgets that AsGuiForm Link support control system GUIs. These QCaPushButton QCaSubstitutedLabel widgets to not access the CA library. QCa Framework class hierarchy Type of access Functionality Main classes to CA data C++ access to the CA library. Provides convenient C++ access to the CA CaObject library. Qt based access to CA. Hides CA specific functionality. Adds Qt QCaObject functionality such as signals and slots. Data type Hides EPICS data QCaInteger QCaFloating independent types, providing read QCaString access. and write conversions where required. EPICS aware graphical Implements graphical Qt based widgets QCaLabel QCaImage widgets. that provide access to EPICS data. QCaLineEdit QCaBitStatus QCaPushButton QCaProgressBar QCaRadioButton QCaPlot ... ... EPICS aware graphical Qt Adds Qt plugin interfaces to EPICS aware QCaLabelPlugin QCaImagePlugin plugins. widgets. QCaLineEditPlugin QCaBitStatusPlugin QCaPushButtonPlugin QCaProgressBarPlugin QCaRadioButtonPlugin QCaPlotPlugin ... ... GUI support widgets Implements Qt based widgets that AsGuiForm Link support control system GUIs. These QCaPushButton QCaSubstitutedLabel widgets to not access the CA library. QCa Framework class hierarchy Type of access Functionality Main classes to CA data C++ access to the CA library. Provides convenient C++ access to the CA CaObject library. Qt based access to CA. Hides CA specific functionality. Adds Qt QCaObject functionality such as signals and slots. Data type independent Hides EPICS data types, providing read QCaInteger QCaFloating access. and write conversions where required. QCaString EPICS aware Implements graphical QCaLabel QCaImage graphical Qt based widgets that QCaLineEdit QCaBitStatus widgets. provide access to QCaPushButton QCaProgressBar EPICS data. QCaRadioButton QCaPlot QCaComboBox QCaShape QCaSpinBox QCaPeriodic QCaSlider QCaPvProperties EPICS aware graphical Qt Adds Qt plugin interfaces to EPICS aware QCaLabelPlugin QCaImagePlugin plugins. widgets. QCaLineEditPlugin QCaBitStatusPlugin ... ... GUI support widgets Implements Qt based widgets that AsGuiForm Link support control system GUIs. These QCaPushButton QCaSubstitutedLabel widgets to not access the CA library. CA enabled conventional Qt widgets CA enabled specialist widgets Embedding GUI functionality within the UI Qt’s standard signals and slots, with the QCaLink widget allows rich interaction between display widgets without the need for calculations and logic in the EPICS DB, or for code in the GUI application. Other examples: • A mode switch enabling text entry fields or push buttons • A combo box selecting a tab on a sub form ASgui – available plugins • QCa widgets • Standard Qt widgets • Any other widgets • EPICS aware widgets that are not part of the QCa framework Metrics Environment: • 3Ghz • Single core (VM) • 2 Gbyte Results: • edm: 15000 updates per second • ASgui 7000 updates per second http://sourceforge.net/projects/epicsqt/ EPICS Qt http://sourceforge.net/projects/epicsqt/ Australian Synchrotron www.synchrotron.org.au .
Recommended publications
  • Qt Creator Reference Card Mode File Editor Layout Editor Code Editor
    sidebar opened files symbol overview Menu Qt Creator reference card Welcome (Ctrl+1) Edit Mode File (Ctrl+2) Debug Ctrl+1 activate welcome mode Ctrl+N create new file (Ctrl+3) Ctrl+2 activate edit mode Ctrl+Shift+N create new project Projects (Ctrl+4) Ctrl+3 activate debug mode Ctrl+O open file Help Ctrl+4 activate projects mode Ctrl+S save current document (Ctrl+5) Ctrl+5 activate help mode Ctrl+Shift+S save all documents Output Ctrl+6 activate output mode Ctrl+W close current document (Ctrl+6) Esc go back to code editor Ctrl+Shift+W close all documents Esc,Esc close all secondary windows in editor mode Document navigation Editor layout Ctrl+Tab previous document in history Ctrl+E,2 split run(Ctrl+R) Ctrl+Shift+Tab next document in history Ctrl+E,3 split side by side debug(F5) Alt+← go back Ctrl+E,0 remove current split build all Alt+→ go forward Ctrl+E,1 remove all splits (Ctrl+Shift+B) Ctrl+E,O go to other split (Alt+0) quick open (Ctrl+K) (Alt+1) (Alt+2) (Alt+3) (Alt+4) Quick open Editor Code editor Build & debug Ctrl+K activate locator Ctrl+Z undo Ctrl+I auto-indent selection Ctrl+B build current project <text> files in any project Ctrl+Shift+Z redo Ctrl+/ (un)comment selection Ctrl+Shift+B build all projects l <number> line in current document Ctrl+X cut Ctrl+< collapse block Ctrl+R run project m<text> methods Ctrl+C copy Ctrl+> expand block F5 start debugging c <text> classes Ctrl+V paste Ctrl+[ go to block start Shift+F5 stop debugger : <text> classes and methods Ctrl+A select all Ctrl+] go to block end Ctrl+Shift+F5 reset debugger
    [Show full text]
  • Europass Curriculum Vitae
    Europass Curriculum Vitae Personal Information Surname(s) / First name(s) Moreira da Mota, Eduardo Address(es) Rua Padre António Joaquim Freire 4, 4580-878 Bitarães, Portugal Telephone(s) Mobile #1: +351 910 565 777 / Mobile #2: +49 171 101 4297 Email(s) [email protected] Nationality(-ies) Portuguese Date of Birth 24th November 1988 Gender Male Desired employment/ Electrical and Computer Science Engineer Occupational field Work experience Dates Since June 2012 Occupation or position held Research Scholarship Main activities and Development of software in C/C++ for vehicular networks responsibilities Name and address of employer IT Porto – Rua Dr. Roberto Frias s/n, 4200-465 Porto Portugal Type of business or sector Research & Development Dates October 2011 – May 2012 Occupation or position held Software Engineer Main activities and Development of software/hardware in C/C++, Labview and Eagle responsibilities Name and address of employer Wolf-Messtechnik GmbH – Industriestrasse 6, 91126 Schwabach, Germany Type of business or sector Software/Hardware Development for Measuring and Automation Systems Dates February 2011 – July 2011 Occupation or position held Intern Main activities and Master Thesis development, entitled Motion and Teaching of a NAO Robot. responsibilities Research & Development. Level in national or international 18 out of 20 classification Name and address of employer INESC TEC – Rua Dr. Roberto Frias 378, 4200-465 Porto Portugal Type of business or sector Research & Development Education and training Dates September
    [Show full text]
  • Extending Qt Creator (Without Writing Code)
    Extending Qt Creator (without writing code) Tobias Hunger Configuration Configuration User configuration ● ~/.config/QtProject/(QtCreator*|qtcreator/*) ● Can be changed by “-settingspath <path>” argument ● sqlite db + .ini file ● XML files (and more) in qtcreator subfolder ● Leave alone ● Possible exception: Sessions (*.qws) Configuration System wide configuration ● ../share/qtcreator/QtProject/* ● Same as above (without sqlite file) ● XML files, .ini-file ● Use sdktool to edit XML files Configuration Project configuration ● .user and .shared file ● XML files ● No tool for .shared file, leave .user alone ● Do not check in .user files! Built-in Tools Editors Generic Highlighters ● Configure via Tools>Options> Text Editor> Generic Highlighter ● or by putting files into ../share/qtcreator/ generic-highlighter Editors Macros ● Custom complex edit operations ● Configure via Tools>Macros ● No global configuration, user configuration in .../QtProject/qtcreator/macros (binary files) Documentation Custom Documentation ● Configure via Tools>Options> Help>Documentation ● or by putting [Help] InstalledDocumentation=/path/to/dir (Comma separated list of paths) into QtCreator.ini Debugger ● GDB/LLDB Python code in shared/qtcreator/dumper/qttypes.py or register own files in Tools>Options>Debugger>GDB> Additional Startup Commands – qtdump__type__name(d, value) – qtedit__type__name(d, value) ● CDB C++ code in src/libs/qtcreatorcdbext (Qt Creator sources!) Designer ● Designer plugins for custom widgets Pitfall: Plugin needs to be built for Qt Creator, not for your project! ● Qml Designer offers similar feature for custom QML components Projects ● Custom Build-/Clean-/Deploy Steps ● Run Custom Executables ● Environment ● Variable Substitution: – %{CurrentBuild:Name}, – %{CurrentProject:FilePath}, – %{CurrentDocument:Row}, – %{CurrentKit:Id}, ... many more! External Tools External Tools ● Run stand-alone tools from Qt Creator – Configure executable, arguments, stdin, etc.
    [Show full text]
  • Delphi 8 for .NET HOE WERKT DELPHI 8 for .NET EN WAT ZIJN DE VERSCHILLEN MET VISUAL STUDIO.NET?
    Bob Swart is auteur, trainer en consultant bij Bob Swart Training & Consultancy. Delphi 8 for .NET HOE WERKT DELPHI 8 FOR .NET EN WAT ZIJN DE VERSCHILLEN MET VISUAL STUDIO.NET? Dit artikel introduceert Delphi 8 for .NET, en laat zien hoe we .NET-toepassingen kunnen ontwikkelen met de nieuwste IDE voor het .NET Framework. Omdat de meeste lezers op de hoogte zullen zijn van de mogelijkheden van Visual Studio.NET, gaat dit artikel met name in op de verschillen, zowel in positieve als wat minder positieve zin. elphi 8 for the Microsoft .NET Framework is de officiële niet alleen als twee druppels water op die van Visual Studio, maar naam, maar de meeste ontwikkelaars noemen het gewoon is daadwerkelijk de designer van Microsoft. Dat heeft als voordeel DDelphi 8 of Delphi 8 for .NET (alleen Delphi for .NET is dat gebruikers van Visual Studio zonder al teveel problemen de niet volledig, want bij Delphi 7 zat eind 2002 al een Delphi for .NET proefversie van Delphi 8 for .NET kunnen gebruiken om eens te preview command-line compiler, die echter niet te vergelijken is met proeven hoe het werkt.1 wat nu als Delphi 8 for .NET beschikbaar is). Alhoewel Delphi 8 for .NET een relatieve nieuwkomer is op het .NET Framework, geldt dat In afbeelding 1 zien we de Object Inspector, WinForms Designer, niet voor de taal Delphi zelf. Delphi 1.0 wordt op Valentijns dag in een Tool Palette met componenten en rechtsboven een venstertje 1995 gelanceerd, en was in feite de 8ste generatie van Turbo Pascal waarin je met de Project Manager, Model View (daarover later) of compiler, die het eerste daglicht ziet in het begin van de 80-er jaren.
    [Show full text]
  • RAD Studio, Delphi, C++Builder XE8 Feature Matrix
    Each feature in the following table has an indication if it is available in Delphi and/or C++Builder . RAD Studio editions include both languages. Each column covers multiple, similar editions, with any difference specifically called out. Community edition is available only for single personalities and has a limited license. Some of the features are only available for download from the IDE in the GetIt Package Manager, requiring an Internet connection. TABLE OF CONTENT INTEGRATED COMPILERS AND TOOLCHAINS APPLICATION PLATFORMS, INTEGRATED FRAMEWORKS, LICENSING AND TOOL MANAGEABILITY DESIGNERS AND SDKS FMX APPLICATION PLATFORM (FIREMONKEY) VISUAL COMPONENT LIBRARY (VCL) COM/DCOM SUPPORT INTERNET OF THINGS (IOT) SUPPORT VISUAL LIVEBINDINGS INTEGRATED BUILD TOOLS AND PROJECT SUPPORT RECENT C++ LANGUAGE AND CORE RTL FEATURES RECENT DELPHI LANGUAGE AND CORE RTL FEATURES INTEGRATED DEVELOPMENT ENVIRONMENT SHARED RUNTIME LIBRARY FEATURES AND DEVELOPER PRODUCTIVITY SOURCE CODE MANAGEMENT INTERNATIONAL DEVELOPMENT REFACTORINGS UML MODELING INTEGRATED DEBUGGING INTEGRATED UNIT TESTING DOCUMENTATION DATABASE APPLICATION DEVELOPMENT AND CONNECTIVITY FIREDAC MULTI-DEVICE DATA ACCESS LIBRARY DBEXPRESS AND IBX RAD SERVER DATASNAP MULTI-TIER DATABASE TOOLS INCLUDED DATABASES REST CLIENT LIBRARY AND BAAS CLOUD SUPPORT XML AND SOAP IP*WORKS! COMMUNICATION COMPONENTS FILE COMPARE WITH BEYOND COMPARE TEXT COMPARE LOGGING WITH CODESITE EXPRESS FASTREPORT REPORTING SOLUTIONS TEECHART CHARTING COMPONENTS DATABASE APPLICATION DEVELOPMENT DATABASE DESIGN AND DEVELOPMENT
    [Show full text]
  • MICHEL (WOLF.LU) Automotive Embedded Software Developer
    MICHEL (WOLF.LU) automotive embedded software developer PROFILE CONTACT I am a Software Developer with over 7 years of Address : 10, Rue de Zoufftgen professional experience in position with top notch 57330 ROUSSY LE VILLAGE - France automotive organizations, mentored software Phone : +33 6 74 63 97 90 developer, brilliant and innovative thinking ability, E-Mail : [email protected] professional and simplified approach in organization. LinkedIn : linkedin.com/michelwolflux I also have several web experiences in freelance or as part of a self-built website. LANGUAGES PROFESSIONAL EXPERIENCES French DELPHI TECHNOLOGIES August 2017-Present English Software Developer German • Responsible for analysis of requirements, design and coding of product SKILLS software for engine control modules. • Generates software code for real-time embedded systems. System : Arduino, Rasberry Pi, Windows XP/7/10, Unix (Shell programmation) FREELANCE June 2016-July 2017 Front End Web Developer Language : .Net, Apache Velocity, C, C#, C++, Java SE, PHP, Perl, Python, Qt, UML, Visual • Development of responsive websites using HTML5, CSS3 and Basic JavaScript. • Search Engine Optimization to increase business online conversion Web : Ajax, CSS3, Bootstrap 3, HTML5, Ionic, rate. Javascript, jQuery BRACE AUTOMOTIVE October 2013-May 2016 Database : MSSQL, MySQL Software Architect Software : ClearQuest, Eclipse, Enterprise • Development on Polarion software to ensure the completeness of the Architect, Git, Qt Creator, Telelogic Synergy, information about every step of development process. Introduction to WinCVS, Tortoise SVN, WAMP, PlasticSCM, Application Lifecycle Management. Trace32, Etas Inca • Development of a cross-company solution (AE-ISSUE) to ease the exchange of work requests, to ensure consistencies and to improve Quality : Object Oriented Software, the tracking of customer requirements implementation.
    [Show full text]
  • Qt Camera Manager Technical Guide
    Qt Camera Manager Technical guide by Thomas Dubrulle and Antonin Durey with Tomas Holt and Grethe Sandstrak collaboration 2014 edition 1/15 2/15 Table of contents I) Setup the environment 4 1.1) On Windows............................................................................4 1.1.1) Qt......................................................................................................................................4 1.1.2) FlyCapture........................................................................................................................4 1.1.3) Integrated Development Environment (IDE)...................................................................5 1.2) On Linux.................................................................................7 1.2.1) Ubuntu..............................................................................................................................7 1.3) Checking..................................................................................7 II) Implementation 8 2.1) QtCreator and main................................................................8 2.2) MainWindow...........................................................................8 2.2.1) Main presentation.............................................................................................................8 2.2.2) Camera Tree......................................................................................................................9 2.2.3) Project Tree.......................................................................................................................9
    [Show full text]
  • Why Is Borland Moving Towards Eclipse? by Mike Rozlog of Borland
    Why is Borland Moving Towards Eclipse? by Mike Rozlog of Borland It is normally bad practice to answer a question with a question, but read the article and find out why it is the perfect time to ask the following question. What is development? This is one of the most important questions being asked at Borland. Development as defined by the dictionary states: it is a noun that has synonyms including evolution, augmentation, and maturation. Taking the definition of development and its synonyms and applying them to the question of "Why is Borland moving towards Eclipse?" reveals answers that many people may not have thought about. First, it is always important to understand the history behind a current position. Take for example an auto race. Usually the winner is not the person that initially leads from the starting position; it is a person who has made important adjustments throughout the race to put them into the best position to win. Now, this is not to say that a poleleader can not win the race, it just means they have to make other adjustments throughout the race to also put themselves into a position of winning it. Understanding that analogy, it is no wonder why Borland is going to start to use Eclipse as a customer facing technology. Keep in mind that Eclipse is not just a JBuilder issue at Borland; it will be used in various areas that have interaction with the customer. However, it is important to understand the background of JBuilder and put it into perspective of why it has been very important over the years, for supporting the Java platform.
    [Show full text]
  • Husain Gholoom
    E-mail: [email protected] Mobile : (512) – 903-8588 Husain Gholoom Professional Experience Computer Science Lecturer August 2012 - Current Computer Science Department Texas State University – San Marcos • Teaching Fundamentals of Computer Science , Foundations of Computer Science , Data Structures , and Unix Classes Computer Science Lecturer September 2005 – September / 2010 Computer Science Department PAAET - Kuwait • Taught Operating Systems, Java, Advanced Java, Advanced COBOL, Pascal, Advanced Pascal, and Databases Management Systems , Introduction to Computer Science , and Computer Science Application ( Microsoft Office Suite – Word , Excel, PowerPoint, Access ) courses • Prepared class schedule for the Computer Science Department • Served as member of Higher Committee for Revision and Follow-up of Class Scheduling and Final Examination for College of Business Studies • Advised and Provided students with information to assist them in successfully completing the requirements for degree within the Computer Science Department • Designed, developed, and implemented a website for College of Business Studies, and also implemented Faculty Database Management System for PAAET using Microsoft Access Instructor & Vice Chairman February 2001 – August 2005 Computer Science Department PAAET - Kuwait • Taught advanced COBOL, Pascal, and Databases courses • Resolved Computer Science Departmental issues with students and various other departments of the college • Served as a member of recruitment committee • Prepared class schedule for the Computer
    [Show full text]
  • Pascalabc.NET (Версия 3.0)
    К.Ю. Поляков Новые возможности PascalABC.NET (версия 3.0) По материалам С.С. Михалковича (http://pascalabc.net) К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET 2 «Стандартный» Паскаль сегодня . классический учебный язык . популярен в школах России . хватает для сдачи ЕГЭ Тенденции в программировании: . Размер программы и скорость работы не критичны . Важна скорость разработки и надёжность . Нет современных типов данных (словари, списки, стеки и т.д.) . Нет высокоуровневых средств . Нет стандартных библиотек (типа STL) К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET 3 Паскаль сегодня: среды . АЛГО (В. Петрив) Python . Delphi C# • цена ??? • тяжеловесная (4 Гбайт) . Free Pascal • оболочка в стиле 1990-х • по пути Delphi • практически не развивается . PascalABC.NET • поддержка «старого» Паскаля • новые конструкции языка • новые структуры данных (коллекции) • использование библиотек .NET К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET (версия 3.0) Средства на каждый день К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET 5 Внутриблочные переменные begin var x: integer = 1; begin Область var y: integer; действия y y := x + 2; writeln(y); end; end. ! Понадобилась переменная – описал! К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET 6 Внутриблочные переменные в циклах for var i:=1 to 10 do begin writeln(i*i); Область ... действия i end; К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET 7 Автовывод типов begin var p := 1; // integer var t := 1.234; // real var s := 'Привет!'; // string // чтение с клавиатуры var n := ReadInteger('Введите n:'); var x := ReadReal; ..
    [Show full text]
  • Developers Choice
    IDE Scorecard Developers’ Choice IDE Scorecard Definitive Rankings of the Top 11 IDEs by Over 1,200 Developers June 2006 Evans Data Corp, 740 Front St, Santa Cruz, CA 95060 www.evansdata.com (800) 831 3080 IDE Scorecard I NSIDE T HIS R EPORT Overview 1 Overview Abstract and Methodology 3 Overall Usage In Spring 2006, Evans Data Corp conducted primary market research on IDEs, interviewing over 1200 developers worldwide and asking them to rate 4 Feature Rankings the top IDEs. Developers only rated the features of those IDEs that they had 5 Further Information used. They were asked to rank sixteen different features commonly found in IDEs. Each feature could be ranked as “excellent, “very good” “adequate”, “needs improvement” or “NA”. During processing, the first four rankings were assigned a numerical value according to their relative significance. The last value (“N/A”) was discarded. Values were then combined to produce a score for each element for every IDE and also for an overall total score. The top 11 IDEs ranked were: “Eclipse is well on its Adobe/Macromedia Studio 8 way to becoming one Borland Delphi of the most popular Borland JBuilder IDEs for any Eclipse language..” IBM Rational Application Developer IBM WebSphere Studio Microsoft Visual Studio .NET NetBeans Oracle JDeveloper Sun Java Studio Sybase PowerBuilder Features and capabilities rated were: Compiler/Interpreter Debugger Editor Make/Build Functions Documentation Application Modeling Tools Web Design Tools Sample Applications Profiler 1 IDE Scorecard IDE Scorecard Overview Cont’ Compiler Performance Performance of Resulting Applications Ease of Use Ability to Integrate 3rd Party Tools Availability of 3rd Party Tools Quality of Technical Support Options Size and Quality of Developer Community In addition, developers were asked to rate the IDEs based on how well suited they are for creating a particular type of application (server-centric, desktop, thin-client, rich-client, and embedded systems).
    [Show full text]
  • RAD Studio, Delphi, C++Builder XE8 Feature Matrix
    RAD Studio, Delphi, C++Builder XE8 The Connected App Platform for Windows and Beyond Products Feature Matrix Each feature has an indication if it is available in the Delphi (D) and/or the C++Builder (C) personality, or in the HTML5 Builder (H) tool. RAD Studio editions include all three personalities, while single product editions (Delphi and C++Builder) have only the features marked for the corresponding personality. Enterprise+ indicates Enterprise and above editions (Ultimate, Architect). Starter edition is available only for single personalities, not for RAD Studio. See also the notes description at the bottom of this page. Feature Enterprise+ Professional Starter INTEGRATED COMPILERS AND TOOLCHAINS Delphi 32-bit native code optimizing compiler (dcc32), including high performance x86 Assembler D D D Delphi 64-bit compiler (dcc64) D D Delphi command line toolchains for Windows D D D5 Delphi OS X compiler (dccosx) D D Delphi command line toolchains for Mac OS X D D Delphi iOS ARM Compiler (dccios32, dcciosarm) D D1 Delphi command line toolchains for iOS D D1 Delphi Android ARM compiler for Device (dccaarm) D D1 Delphi command line toolchains for Android D D1 Embarcadero C++ Compiler for Win64 (bcc64) C C Embarcadero C++ Compiler for Win32 (bcc32) C C C C++ command line toolchains for Windows C C C5 C++ OS X compiler (bccosx) C C C++ command line toolchains for OS X C C C++Builder iOS ARM Compiler (bcciosarm) C C1 C++Builder command line toolchain for iOS C C1 Introduced in XE6! C++Builder Android ARM Compiler (bccaarm) C C1 Introduced in XE6! C++Builder command line toolchain for Android C C1 New in XE8! iOS 64 bit Object Pascal compiler and toolchain D D1 X New in XE8! iOS 64 bit C++ compiler and toolchain C C1 New in XE8! Support for iOS Universal Apps (including both 32 bit and 64 bit binaries in an app bundle) C D C D X APPLICATION PLATFORMS, INTEGRATED FRAMEWORKS, DESIGNERS AND SDKS FMX Application Platform for creating 32-bit Windows applications for Windows 8 and 8.1 and Windows 7; C D C D C D Server 2008 and 2012.
    [Show full text]