Noutați

Sencha 2021 Roadmap Update

In this Sencha roadmap post, you will find a detailed summary of what we’ve planned for calendar year 2021.The product team interacts with customers on an everyday basis. Your feedback plays a big role in driving our overall product direction! 2021 Roadmap Highlights Ext JS is King — Performance enhancements, New Grid features, Classic to modern parity features and more! Continued Innovation — WebTestIt, Ext.NET, and many more initiatives ahead. Strong Focus on Quality – GXT updates, Improved onboarding experience with new getting started resources and more! Before we get to the details of our updated roadmap, we wanted to recap what we’ve delivered in recent months. Recent Releases 7.3 Release In September 2020, we released Ext JS 7.3. The 7.3 release was a quality focused release, addressing dozens of customer requests across the modern and classic toolkits. In addition to the quality improvements, we also added a template example to the Kitchen Sink and provided new embedded examples in API Docs to increase developer productivity. Shortly after the initial 7.3 release, we released ExtReact, ExtAngular and ExtWebComponents 7.3. Key 7.3 features include:  Improvements to the Data Grid, Fields, Charts and Buttons widgets. Enhancements to Ext JS Grid scrolling experience. Many quality improvements addressing customer reported tickets. Check out the release notes for full details. New Kitchen Sink examples and directly usable ready-to-go templates for both toolkits. Over 30+ new fiddle examples in Ext JS API Docs Upgraded Froala WYSIWYG Editor to latest version 3.2.1. ExtReact, ExtAngular and ExtWebComponents for version 7.3 Sencha WebTestIt In October, we introduced a new product to Sencha’s family of products, WebTestIt. Sencha WebTestIt is a free to use, lightweight IDE and toolset optimized for creating, building, executing, and debugging UI tests for websites and web applications.  WebTestIt provides users the tools to create and build tests with popular web testing frameworks such as Selenium and Protractor. Aimed at serving the broader web test automation ecosystem, WebTestIt significantly reduces the effort associated with test management and increases the efficiency of your project’s test automation.  We plan to continue to update WebTestIt on a semi-regular basis. Download WebTestIt Sencha Ext.NET Sencha Ext.NET is a new product targeted toward the ASP.NET developer community. Sencha has partnered with the Ext.NET team to provide this offering through the Sencha line of products .Ext.NET is an advanced ASP.NET Core component framework that incorporates the Ext JS library to build cross-browser, blazing fast web applications. Ext.NET combines the two server and client side technologies (Ext JS & ASP.NET) to provide the UI controls for over 140 UI components including some amazing looking themes, and is available in three editions. GXT 4.0.4 The Sencha team recently announced the availability of a GXT 4.0.4 software patch release for our customers on maintenance. This release addresses more than a dozen customer reported tickets spanning improvements in the grid component, layout, selection, and more. The release is available for customers from the Sencha support portal. Looking ahead into Calendar Year 2021 What’s Planned for Ext JS Continuous Performance Enhancements, New Grid Features for Sencha’s best-in-class component, Modern to Classic Parity Features & More. Ext JS Classic and Modern toolkits are going to continue to be first class toolkits that will live long into the future. As you’ve seen with all of our Ext JS releases, […]

Read More

6 Threats to Development Team Productivity

Published December 17, 2020 WRITTEN BY THE KIUWAN TEAMExperienced developers, cyber-security experts, ALM consultants, DevOps gurus and some other dangerous species. Productivity rates are critical to success in any industry. That is true of software products, too, that not only need to be efficiently produced but secure from cyberattacks as well. If you’re considering how to improve your software team’s productivity, then you will want to know the top threats impacting software development team productivity and how to solve them. The following paragraphs address six of them. 1. The Need for Speed The enemy of quality software development is often the unrealistic and impossible deadlines set by project managers. The sleight of hand happens this way: In response to client requests, managers often press developers for delivery estimates. They often push for the lowest possible delivery estimates. The mistake they make, though, comes when they consider those delivery estimates to mean delivery deadlines agreed upon by the developer team. Managers pass along the “deadlines” to senior management, leaving developers feeling stressed, and leading to the developers’ inability to perform at optimum levels. It comes down to managing the client’s expectations. Take the time to make sure that the client understands that a slower work pattern due to rigorous testing results in a better quality product. That communication and understanding can make a world of difference for the development team. 2. Poor Code Quality  Poor code quality appears in various forms. It may mean code that is difficult for other developers or team members to read and therefore affects the ability to make necessary changes. It may mean that the development team rushed to meet deadlines and, in doing so, released the software without testing and without fixing any bugs that existed, or that they could have prevented. Poor code quality decreases production agility and impacts the project’s development over the long-term. Code quality is positively impacted by: Following code standards Testing code Selecting a project manager to monitor project quality. 3. Outdated Technology   Updated technology helps employees do their jobs more efficiently, saves valuable project time, generally keeps customers satisfied, and provides businesses a leg up over their competitors. Successful development teams have the modern tools they need to work quickly and securely.  Price Waterhouse Cooper (PWC) conducted a study of 12,000 people in Canada, China, Hong Kong, the US, the UK, India, Germany, and Mexico. The participants worked in roles ranging from the C-Suite to administration and in various industries. PWC found that 90% of C-Suite Executives believe they take into account the technology their people need to do their jobs. Only 53% of their workers said the same. And while 92% of the C-Suite Execs were satisfied with their company’s experience with the technology provided to carry out the most important projects, only 68% of their workers felt the same way. It’s easy to understand the disconnect. When technology fails, C-Suite Execs hand the problem to someone else to solve. The worker bees are left to deal with the aftermath of outdated technology. 4. The CI/CD Pipeline  As the name implies, the CI/CD Pipeline consists of two components: CI and CD. Continuous integration (CI) refers to the software development practice that requires frequent code checks during software development and producing small code changes as the team discovers them. […]

Read More

TMS WEB Core for Visual Studio Code 1.2beta introducing the pas2js v2.0RC compiler!

A bit more than a week ago, we made the first beta available of TMS WEB Core for Delphi v1.6beta Pesaro that introduces the new v2.0 pas2js compiler and extended RTL. For those who missed it, the new version v2.0 of the compiler is a quantum leap forward and its main new features are: Generics Attributes Class constructors Resource strings Async procedure decorator Await support JavaScript promises support Read all about pas2js v2.0 and TMS WEB Core for Delphi v1.6 beta in this blog article. As expected, we have now a first beta of TMS WEB Core for Visual Studio Code ready for TMS ALL-ACCESS and TMS WEB Core for Visual Studio Code customers. With TMS WEB Core for Visual Studio Code you can: Use the free IDE loved by web developers on Windows, macOS or Linux Use your favorite fully object-oriented, type-safe Object Pascal language Take advantage of a large eco-system of web developer friendly tools in the IDE Use a fast RAD component based development approach See your app in the IDE using live WYSIWYG web technology based form designer Create classic web client applications Develop installable PWA‘s on mobile devices as well as desktop Chromium based browser Build cross platform desktop applications with modern looking web based UIs on Windows, macOS & Linux via Electron Our team is looking forward to all your feedback, wishes and suggestions for improvements and future developments! Live data and live a bootstrap theme used in the form designer in Visual Studio CodeLive Google Maps in the form designer in Visual Studio CodeDebugging a TMS WEB Core application directly from the Visual Studio Code IDE

Read More

TMS FlexCel academic license

Even in this challenging times we want to make our contribution to the Delphi community and most importantly to the aspiring future Delphi developer and hereby encouraging next generations of enthusiast Delphi developers. In 2020 we have launched our TMS Academic Program and added so far 3 products. Today, we extend the TMS Academic Program with a 4th product : TMS FlexCel for VCL & FMX. With the Delphi Academic edition, students already have an extremely powerful tool in their hands and we want to enrich this with offering our most popular products also free to students with the TMS Academic Program. FlexCel for VCL / FireMonkey is a suite of Delphi components allowing to manipulate Excel files or generate Excel template based reports. It includes an extensive API allowing to natively read/write Excel files. If you need to read or create complex spreadsheets, on Windows or macOS on machines without Excel installed, Flexcel can do the job. This academic license can be used with Delphi 10.4, just like our other 3 academic licenses! Supported frameworks: Visit the landing page and discover more about our TMS Academic Program. Getting started : Register for a free TMS FlexCel Academic license with a school or university email address Receive your credentials to login on our website via your student email address Login and download your free TMS FlexCel Academic installer Install the product for the Delphi Community Edition Enjoy being part of the TMS family with full access to our website, TMS support center, product updates for 1 year and develop great Delphi VCL applications Get started with TMS software today and secure your place for the future in the Delphi world! TMS FlexCel for VCL & FMX is out last addition to our Academic Program for 2020! Of course, we plan to extend this academic program in 2021. We are curious to know how the TMS Academic Program helped you so far in achieving exciting software development challenges and we are eager to learn what next TMS products you would wish to see in the academic program.

Read More

Learn How To Easily Work With BLOB Streams Internally And Externally In This Delphi Windows App

The BlobStreams sample shows you how to use the BLOB streaming techniques of FireDAC. To this end, this sample implements both the external streaming and the internal streaming. Location You can find the BlobStreams sample project at: Start | Programs | Embarcadero RAD Studio Sydney | Samples and then navigate to: Object PascalDatabaseFireDACSamplesComp LayerTFDQueryBlobStreams Subversion Repository: You can find Delphi code samples in GitHub Repositories. Search by name into the samples repositories according to your RAD Studio version. How to Use the Sample Navigate to the location given above and open BlobStreams.dproj. Press F9 or choose Run > Run. Files File in Delphi Contains BlobStreams.dprojBlobStreams.dpr The project itself. fBlobStr.pasfBlobStr.fmx The main form. Implementation Before running the sample, the main components are configured at design time using the Object Inspector as follows: Two TFDQuery objects named qSelect and qInsert. These components are used to implement the datasets capable of executing SQL queries. The following setup is needed: Configure the Connection property of both objects to specify the FireDAC connection object that is used to connect to a DBMS. In both cases it is set to FDConnection1. Set the SQL property for both objects. It specifies the SQL statement to execute for the query. The SQL property of qSelect is set to select * from {id FDQA_Blob}. The SQL property of qSelect is set to insert into {id FDQA_Blob} (blobdata) values (:blobdata). Configure the qInsert.Param[0]: The Name property is se to BLOBDATA The DataType property is set to one of the BLOB data types. In this sample ftBlob. The ParamType property is set to ptInput. It means that the stream will be read and written to a database BLOB value. The StreamMode property is set to smOpenRead. This is the default value. It means that the stream is used to read the database BLOB value. A TDataSource object named DataSource1. This component provides an interface between a dataset component and data-aware controls on a form. In this sample, it is used to provide communication between the dataset and a TDBMemo object named DBMemo1. DBMemo1 is used to display the blobdata field of the dataset. To this end, the following setup is needed: The DataSet property of DataSource is set to qSelect. The DataSource property of DBMemo1 to DataSource1. The DataField property of DBMemo1 to blobdata. Once the main components are configured at design time you can run the application and interact with the sample in run time. To this end, the sample offers three buttons: Prepare data. This button creates an OnClick event that uses the TFileStream.Create method to instantiate the file stream in order to write a string into the file. Insert (external stream). This button creates an OnClick event that implements an external streaming. An external stream is provided by the application to FireDAC (external to FireDAC). Then, FireDAC reads this stream. See the code below: Insert (internal stream). This button creates an OnClick event that implements an internal streaming. An internal stream is provided by FireDAC to the application (internal to FireDAC). Then, the application reads this stream. To this end, the sample does the following: Use the StarTransaction method to start a mandatory transaction. Set the parameter DataType to ftStream. Set the parameter StreamMode to smOpenWrite in order to write the database BLOB value. Use the ExecSQL method to execute the SQL command. This will return the internal stream reference. Write the internal stream reference. Call the CloseStreams method to flush database API buffers and close internal streams. Use the Commint method to finish the transaction. For more information about this sample, please refer to the link below:http://docwiki.embarcadero.com/CodeExamples/Sydney/en/FireDAC.TFDQuery.BlobStreams_Sample Check out the full source code for the BLOB streams sample app in Windows for Delphi on GitHub.

Read More

Powerful CD/DVD/Blu-ray Burner Component Suite For Delphi Firemonkey By Winsoft

Introduction Delphi Builder components for preparing and burning images to CD, DVD, and Blu-ray optical storage media. Uses standard Windows Image Mastering API 2. 2. Components in the Demo and what they do The Demo contains some labels with text, as well as TEdits for the directory paths and file names. The ‘Create Image’ button calls the button onClick event, which executes the Write process. In the next code you can see the execution in details. procedure TFormMain.ButtonCreateImageClick(Sender: TObject); begin Cancel := False; ProgressBar.Value := 0; UpdateControls(True); try FDiscImage.VolumeName := EditVolumeName.Text; FDiscImage.SourceTree := EditSourceTree.Text; FDiscImage.Write(EditImageName.Text); finally LabelStatus.Text := ”; UpdateControls(False); end; end; procedure TFormMain.ButtonCreateImageClick(Sender: TObject); begin   Cancel := False;   ProgressBar.Value := 0;   UpdateControls(True);   try     FDiscImage.VolumeName := EditVolumeName.Text;     FDiscImage.SourceTree := EditSourceTree.Text;     FDiscImage.Write(EditImageName.Text);   finally     LabelStatus.Text := ”;     UpdateControls(False);   end; end; The Main component that does the Image Writing is the TFDiscImage component by Winsoft. Depending on the TRadioGroup choice, the user chooses between two file systems – ISO 9660 and UDF. When one of the files systems is marked, an onChange event is fired with code: procedure TFormMain.RadioButtonChange(Sender: TObject); begin if RadioButtonIso9660.IsChecked then FDiscImage.FileSystems := [fsISO9660] else FDiscImage.FileSystems := [fsUDF]; end; procedure TFormMain.RadioButtonChange(Sender: TObject); begin   if RadioButtonIso9660.IsChecked then     FDiscImage.FileSystems := [fsISO9660]   else     FDiscImage.FileSystems := [fsUDF]; end; To get better vision on what these components do, check the video below: If you want to download this Component suite, click on the next link: https://winsoft.sk/fburncs.htm

Read More

Quickly Consume The Firebase REST API With The Open Source Firebase4Delphi Library

procedure TFirebaseDatabase.SetBaseURI(const ABaseURI: string); begin   FBaseURI := ABaseURI; end; procedure TFirebaseDatabase.SetToken(const AToken: string); begin   FToken := AToken; end;   function TFirebaseDatabase.Get(const AParams: array of string;   AQueryParams: TDictionary<string, string> = nil): IFirebaseResponse; var   ARequest: IFirebaseRequest; begin   ARequest := TFirebaseRequest.Create(BaseURI, Token);   Result := ARequest.SendData(AParams, TFirebaseCommand.fcGet, nil,     AQueryParams); end;   function TFirebaseDatabase.Post(const AParams: array of string;   AData: TJSONValue = nil; AQueryParams: TDictionary<string, string> = nil;   ADataOwner: boolean = true): IFirebaseResponse; var   ARequest: IFirebaseRequest; begin   ARequest := TFirebaseRequest.Create(BaseURI, Token);   Result := ARequest.SendData(AParams, TFirebaseCommand.fcPost, AData,     AQueryParams, ADataOwner); end; function TFirebaseDatabase.Put(const AParams: array of string;   AData: TJSONValue = nil; AQueryParams: TDictionary<string, string> = nil;   ADataOwner: boolean = true): IFirebaseResponse; var   ARequest: IFirebaseRequest; begin   ARequest := TFirebaseRequest.Create(BaseURI, Token);   Result := ARequest.SendData(AParams, TFirebaseCommand.fcPut, AData,     AQueryParams, ADataOwner); end; function TFirebaseDatabase.Patch(const AParams: array of string;   AData: TJSONValue = nil; AQueryParams: TDictionary<string, string> = nil;   ADataOwner: boolean = true): IFirebaseResponse; var   ARequest: IFirebaseRequest; begin   ARequest := TFirebaseRequest.Create(BaseURI, Token);   Result := ARequest.SendData(AParams, TFirebaseCommand.fcPatch, AData,     AQueryParams, ADataOwner); end; function TFirebaseDatabase.Delete(const AParams: array of string;   AQueryParams: TDictionary<string, string> = nil): IFirebaseResponse; var   ARequest: IFirebaseRequest; begin   ARequest := TFirebaseRequest.Create(BaseURI, Token);   Result := ARequest.SendData(AParams, TFirebaseCommand.fcRemove, nil,     AQueryParams); end;

Read More

Free Cross-Platform Order Entry Point Of Sale App Template For Delphi

This industry-ready Order Entry Application template for busy small business owners. This project is to build a general template for the regular structure of the order entry application.       Specifics • Specifically we are working on something similar to general existing order entry applications. • The goal is to have a reusable template that a user can download and add their content to and create a professional-looking application. • The template will be delivered in a sample application that shows the power and flexibility of the template. And that is documented enough so that a user will understand how to customize it for their use. On the following slides, you will find screenshots and annotations Order Entry – tabs, rooms, and menu management Time Clock – employee clock in/out Manager – main manager settings Exit – exit from the application In a room view, it is possible to assign a table to a user and to start a new tab It is possible to move tables on the screen according to their real location It is possible to see the number of seats for each table On this screen, the user can pay for the order in different ways and leave tips You can download the Order Entry App from GetIt Package Manager Also, be sure to check out other amazing sample application here!

Read More

Submit Your Own Amazing Projects To The Embarcadero Showcase

The Embarcadero Showcase features a number of different amazing software solutions created by our customers. We are adding new showcases all the time. The purpose of the showcase is to highlight the successes our customers are enjoying by using our tools and solutions such as RAD Studio, Delphi, C++Builder, InterBase, and RAD Server. You can submit your own showcase and we might feature it if all of the necessary media is available. Submitting a new showcase is easy. Simply visit the Showcase Submission Form and enter the required information and media. A short app description describing how and why the software solution uses Delphi is optimal. In order to be evaluated for a Showcase the submission needs to include access to 1080p resolution screenshots or a public download (like a free trial) so that high resolution screenshots can be created. Additionally, they need to be taken with the latest version of Windows. For mobile apps please provide the App Store URLs in the description and any extra screenshots you may have. You can also submit a YouTube URL featuring your software solution and it may be included in the Showcase. Here are a few existing Showcases you can check out below. Award Winning Native Windows SFTP Client Built With C++Builder And Downloaded 143+ Million Times WinSCP is a popular award winning native SFTP client, FTP client, and file manager for Microsoft Windows. It has been download over 143 million times and is available in many languages. WinSCP is built with a number of programming languages but C++Builder is the main tool powering it’s graphical user interface. It is a great example of leveraging C++Builder’s fast UI development… Rise of Legions Multiplayer RPG Windows Game Built In Delphi Broken Games is a small, ambitious independent game development company based in Berlin, Germany. Their flagship game, Rise of Legions, is a multiplayer RPG available for the Windows platform. Co-founders Tobias and Martin focus on bringing people together through game… Comprehensive Music Theory and Ear Training App Built In Delphi With almost 3,000 lessons created by music teachers for beginners to professional musicians playing any instrument, EarMaster is a comprehensive, consumer-grade app with extraordinary functionality that uses a variety of different technologies. Despite the app’s technologically advanced backend, the EarMaster team worked hard make it as simple and intuitive as possible to use. EarMaster features… Ready to submit your own Showcase? Head over to the Showcase Submission Form and let us know about your amazing project!

Read More

Rethinking Application Security in a Post-Pandemic World

Published December 11, 2020 WRITTEN BY THE KIUWAN TEAMExperienced developers, cyber-security experts, ALM consultants, DevOps gurus and some other dangerous species. Without a doubt, the COVID-19 pandemic has had a massive impact on the financial services landscape. Not only did businesses have to tweak their entire operations under safety regulations, but they also had to contend with a growing list of cybersecurity threat-actors, given the rapid adoption and usage of online apps.  According to data from App Annie, there was a 20% increase in time spent on mobile apps in the first quarter of 2020. At the same time, consumers embraced online banking, social media, and online shopping like never before. All of these created more cybersecurity risks. To avoid exploitation and compromise of sensitive data, information, technology, and security leaders need to view app security through a new pair of lenses. This should include a defense plan that considers the remote workforce, significantly reduced IT budgets, and limited access to AppSec talent.  Read on as we explore a dynamic plan to boost your cyber protection in a post-pandemic world.  1. Data breaches Mobile banking malware risk has worsened, especially now that bad actors leverage uncertainty and fear surrounding the pandemic. Recent research from Malwarebytes shows that mobile banking malware has spiked in recent months, infiltrating weakened home networks and mobile devices to access highly-sensitive corporate applications. These malware solutions are only focused on one job: stealing client information. What CIOs and CISOs can do: The best place to start is identifying and remediating the security vulnerabilities in your application before it’s too late.  Plan to conduct application security vulnerability scanning with a tool like Kiuwan. Remember, a data breach could set back the company some millions of dollars, which is why you should never leave your mobile app security to chance. 2. Identity theft Credential stealing has spread around the US almost as effectively as the COVID-19 pandemic. Since the bulk of the workforce has switched to working remotely, black-hat cyber criminals’ attacks have grown exponentially.  Credential theft is the leading cause of fraud in financial services, and with credential-stealing malware such as EventBolt19 and Cerberus being increasingly widespread in 2020, the risk has never been greater. What CIOs and CISOs can do: The post-pandemic world presents a new opportunity for CIOs to protect employees from the claws of identity theft. The best defense should focus on building authentication solutions that focus on ‘who you are’ rather than ‘something you have’ (passwords).  That said, consider installing next-level biometric solutions such as thumbprint/fingerprint, iris, voice, retina, and facial recognition technologies. With biometrics, cybercriminals’ attempt at impersonating anyone of your team members just got a lot more difficult than trying to break into passwords or PINs. 3. Ransomware attacks  Even after the pandemic, ransomware will remain one of the most significant cyber threats facing financial institutions. Statistics show that financial services will still be the second most targeted sector for ransomware attacks, only trailing healthcare. Successful ransomware attacks reveal not only endpoint vulnerabilities but also act as a starting point for myriad other problems. For example, a breach could lead to huge monetary loss. But most importantly, businesses that don’t proactively protect against attacks will likely suffer from damaged loyalty and reputational risk. Yet this is only the tip of the iceberg. Other repercussions of ransomware attacks are weakened employee morale and the need to dig deeper into […]

Read More