Noutați

Extend TMS WEB Core with JS Libraries with Andrew: Summernote vs. SunEditor showdown

Last time out, we had a good look at CodeMirror 5, a JavaScript text editor that, among many other things, can be used to edit native HTML. This time out, we’re going to tackle the general topic of editing HTML in TMS WEB Core projects using two very similar JS libraries that both provide a WYSIWYG HTML editing interface – Summernote and SunEditor. And if neither of those are to your liking, there’s also a section at the end about how to convert Markdown text into HTML, using Showdown. Three different ways to tackle the same problem. Motivation Why might you need a WYSIWYG HTML editor in the first place? There are at least a handful of places I can think of where it might (or has) come up in TMS WEB Core projects. RichEditor. As a replacement for any needs that have historically been addressed using typical Windows RichEdit controls. Places where you want users to enter information, but you also want them to be able to use different text colors, bold or italic text, lists, tables, images, links, and so on. While such RichEdit controls have included support for some or all of these kinds of features, a WYSIWYG HTML control can typically do all of this and more, and usually you’re turning off things rather than trying to add editing functionality. Forums. If you have an area within your project where users can discuss things, like in a forum-type environment, this is sometimes a useful thing to have.  Markdown is also popular for this kind of thing, and is used to varying degrees in the TMS Support Center and on GitHub, keeping the UI as simple as possible. Documentation. For example, on a settings form, there might be a header at the top that describes some aspects about the settings that are specific to a client.  This description is stored as an HTML object in the client’s database and is displayed, if available, instead of the description that might be used by default. Naturally, access to editing these descriptions would be restricted to appropriate people. Or even if it isn’t customer-specific, sometimes storing the documentation in a database like this makes it possible to update the documentation that might be static within the application, but without having to release a new code update to make changes. Landing Pages. Customized web pages that cater to particular customers or marketing events or advertising campaigns.  These are just web pages that you track to see how much traffic is being generated by a particular campaign.  Or maybe you use them to A/B test what gets more conversions for a particular product.  Or something like that.  By being able to edit HTML directly within the application, these pages can all be managed from within your application – no need to worry about file access or server configurations or anything like that. Other Content. Sometimes applications have a ‘news feed’ or an ‘about’ page or a ‘contact us page’ or maybe corporate profiles, that kind of thing. Having a built-in HTML editor makes it easy to keep this kind of content up-to-date and also secured in a way that would likely be more difficult if people were editing HTML files in some other application and then uploading them to your server, for […]

Read More

What Is The Best JavaScript Framework For Mobile Apps?

With the staggering increase in mobile phone users comes the need for developing high quality mobile apps. Mobile apps now also play an important and vital role for all businesses, whether small or large. Keeping the importance of mobile apps in view, a reliable and robust JavaScript framework for mobile apps is of utmost importance. When you start exploring the market, you’ll find many JavaScript libraries out there. To help you select the right JavaScript framework for developing web and mobile apps, we have compiled a comprehensive guide. Continue reading to discover why you should opt for Ext JS, the best JavaScript framework for mobile apps. What are Some Features of Ext JS, The Best JavaScript Framework for Mobile Apps? Ext JS is the best and the most comprehensive JavaScript framework for web and mobile apps. Sencha offers Ext JS with 140+ pre-tested and high-performing UI components to help developers with JavaScript app development. HTML5 calendar, grids, pivot grid, D3 adapter, trees, lists, forms, menus, toolbars, panels, windows, etc. You can easily integrate these components into your app while having the confidence that you don’t have to spend your time building and testing these professionally built components. These UI components and Ext JS JavaScript developer tools accelerate app development and reduce your time to market. Where is Sencha Touch? If you have been developing apps for mobile phones and other touch screen devices with Sencha Touch in the past, then you’ll be pleased to know that Sencha Touch has been merged with Ext JS. This is great news for all mobile app developers as now they have the best JavaScript framework for building data-intensive, cross platform web and mobile apps. You’ll be able to utilize all the awesome features provided by Ext JS to build your mobile apps and software for other touchscreen devices. Are There JavaScript Tools for Designing My Mobile App? Indeed yes! Sencha brings you state-of-the-art tools for designing, customizing, and building an app with JavaScript. There are pre-integrated tools like Sencha Themer and Stencils to support the entire design process. Sencha Themer allows you to style and create custom themes using graphical tools without writing a single line of code. You can also generate theme packages using dynamic stylesheets. Additionally, Sencha Themer includes a smart color palette that helps you apply different color schemes to different component states. There is also a palette that enables you to choose different colors from Material Design. To help you with font selection, Sencha Themer includes a font management option. With this feature, you can easily add web fonts from Google fonts. Does the Ext JS JavaScript Framework for Mobile Apps Support JavaScript Testing Tools? Again yes! At Sencha, quality is one of our top-most priorities. Hence, Sencha’s complete JavaScript mobile app framework also supports testing your apps for quality assurance. You can use Sencha Test to create unit and end-to-end tests quickly and easily. The best part is that you can execute these tests on multiple browsers simultaneously to ensure that your app runs seamlessly on all types of browsers. What is the Layout Manager in Ext JS, the Best JavaScript Framework for Mobile Apps? When developing apps for mobile devices, adjusting the user interface to render properly on small screens can turn out to be a nightmare for developers. This is no longer true […]

Read More

Growth and Monetization Report: Five insights to help you achieve scale for your mobile game

Data backed insights to help grow your user base and effectively monetize your game. It’s no simple task to attract a steady flow of new users to your game and monetize so you can keep funding your creations, but it is vital.  While there are no guarantees or magic tricks, the formula to success is understanding what combination of development, user acquisition, and monetization strategies will work best for your game. Starting early and taking a data backed approach to understanding what strategies work best can save you from the inevitable trial and error when trying to achieve scale. In our first mobile insights report, we dive into growth and monetization trends to offer guidance on how to approach topics like subgenre choices, soft launches, ad creative, monetization mixes, ad implementation, and even peer benchmarks.  Read on to learn about five insights from our report, backed by unique Unity data, that will help support the future of your creation.  Plan early to improve chances of success Perfect your soft launch strategy for UA Sharpen your ad creatives Balance your IAA and IAP efforts Create placements that perform

Read More

11 Ways to Fully Revamp Your Low Code Application Platform

In business, a low code application platform describes software that allows users to create or customize applications without writing code. Low Code Application Platform is becoming increasingly popular as companies strive to speed up application development and achieve digital transformation. However, simply using low code alone is not enough to guarantee success. This article will show you 11 ways to completely revamp your low code application platform and make it even more effective! The low code application platform has evolved significantly Over the last few years, there has been a significant shift in software development. Low code development platforms are becoming increasingly popular as they allow developers to create applications without writing large amounts of code. There are many reasons for this shift. Firstly, low code platforms are much faster to develop than traditional platforms. This is because developers can drag and drop various elements to create an application rather than having to write code from scratch. This means that applications can be completed in a fraction of the time they take on a traditional platform. Secondly, low code platforms are much more user-friendly than traditional platforms. This is because they don’t require developers to have a deep understanding of coding languages. This makes them ideal for businesses who want to create their own applications but don’t have the time or resources to invest in training their employees in programming languages and technologies. Finally, low code platforms are much more flexible than traditional platforms. This is because they allow businesses to customize their applications to suit their specific needs easily. This flexibility is critical for companies that want to adapt their applications as their business changes and grows. RAD Studio Over the Years – Get the latest version of RAD Studio 11.1 Alexandria right now! How to get the best out of a low code application platform 1. Out with the old If you’re looking to revamp your low code application platform completely, the first step is getting rid of the old. This means any outdated applications, hardware, or software are no longer used. Getting rid of these things will help declutter your system and make it easier to manage. 2. In with the new Once you’ve gotten rid of the old, it’s time to bring in the new. This includes new applications, hardware, and software that can help improve your system. Be sure to do your research and choose things that will work well with your existing system.  3. Keep it organized After making all of your changes, it’s essential to keep your system organized. This will help you keep track of everything and ensure nothing gets lost. Create a file system or use a project management tool to help you stay on top of things. 4. Test everything Test everything out before launching your new and improved low code application platform. This includes testing applications, hardware, and software to ensure they work together correctly. Once everything is up and running, you can enjoy your new system! Revamp your low code application platform and breathe life into your apps with minimal effort 1. In with the new If you want to revamp your low code application platform completely, the first step is to get rid of the old. That means any outdated software, hardware, or anything else that’s no […]

Read More

Everything You Need To Know About the New RAD Studio 11.1 Alexandria Update

Rad Studio 11.0 Alexandria was strategically released last September, just a month before the release of Windows 11. It provides a great number of features including the High DPI IDE support, VCL Styles in the Form Designer, and Android API 30 support to name a few. Interestingly, a new update was released a few months ago, providing many notable IDE improvements and other new functionalities that are absolutely beneficial to Windows application development. Coinciding the release of RAD Studio 11.1 is a launch webinar hosted by Jim McKeeth and other Embarcadero MVPs such as Marco Cantu, Kyle Wheeler, David Millington, and Stephen Ball. What’s new with RAD Studio 11.1 Alexandria? The primary focus of RAD Studio 11.1 is to enhance all the great features that are already present in the RAD Studio 11. The update also provides a focus on usability, performance, and stability improvements. It also includes some new functionalities, including new database drivers. RAD Studio 11.1 features many IDE Improvements including the extensive High DPI IDE quality and the improved use of the IDE with Remote Desktop. The update also provides improvements in toolbar font sizing, better scaling when dragging windows between different resolution monitors, and additional IDE fix pack integration. It also features improved high DPI designers for both VCL, FireMonkey, and the styled VCL form designer. There are also notable GetIt Library Manager enhancements and other new IDE features such as the Messages View, New Items and Compile Dialog boxes and more. Another significant quality focus area of RAD Studio 11.1 is Code Insight for both languages, Delphi and C++ Builder. There is also a big performance improvement in Delphi LSP Engine. The new update also provides notable improvements with Delphi and C++ Builder’s Compilers and debuggers. It includes additional support for ASLR and an introduction to new Delphi debugging technology based on LLDB. Delphi RTL also had several optimizations and quality improvements in the new RAD Studio update. Additionally, the RAD Studio 11.1 release offers official support to operating systems released after 11.0 shipped: Windows 11, macOS 12 Monterey, iOS 15, and Android 12. In case you missed the recently held RAD Studio 11.1 Alexandria Launch Webinar, feel free to watch the video below.   

Read More

Extend TMS WEB Core with JS Libraries with Andrew: CodeMirror

Do you want to display or edit code directly within your TMS WEB Core application? Then this is the post for you.  This time out, we’re diving head-first into CodeMirror 5, which describes itself as “a versatile text editor implemented in JavaScript for the browser.”  Which it certainly is.  Beyond just being a text editor, it is natively aware of more than 100 different programming languages.  Beyond that, it has numerous add-ons and configurable options to mimic the many styles and conventions of other editors you might already be familiar with, like Vim, Emacs, and so on. And using it in a TMS WEB Core project is just as easy as any of the other JS libraries we’ve covered so far. Motivation. Why do we need a code editor at all? The very first benefit of a code editor, as compared to a simple text editor or an editable TWebMemo field, for example, is that it typically comes with syntax-highlighting that is configured for the programming language that you’re editing. For Pascal, this means that begin and end are automatically shown in a different color, as well as any other Pascal-related reserved keywords.  This also typically means that the various kinds of brackets are shown in a way that makes it easy to find the matching pairs of brackets, or that comments show up in a different color or style.  Might not seem like much, but if you’ve ever tried writing code without this, it is a very different experience. Of course, you’re likely very familiar with this kind of thing, as the Delphi IDE does exactly this (and much, much more!) when editing code.   Sometimes it is even helpful to display other text using this kind of mechanism, if for no reason other than to make it a little nicer to look at.  If you have log files that are potentially visible to your users, for example, they can be setup so that they are viewed through CodeMirror.  Perhaps set to something like SQL (my personal preference) will make the log files a little easier to read, depending on how they’ve been formatted, with dates and numbers and other things displayed potentially in a different color.  Or perhaps you want to display text that has line numbers beside it.  Or perhaps the most common of all, you want to edit HTML source and have the tags shown in a different color.  We’ll be taking a look at both Summernote and SunEditor in an upcoming post, both of which use CodeMirror to provide their “edit HTML source” functionality. CodeMirror 5 vs. CodeMirror 6. Before we get any further, let’s quickly sort this out.  Normally I’m 100% all-in when it comes to using the leading (bleeding) edge of any particular JS Library, with the thought that it will likely have the best support for the latest browsers and the most active development efforts, as compared to older versions of the same library.  And this does indeed apply here as well.  However, they’re a little too far out on the leading edge at the moment.  So far out that CodeMirror 6 is really a collection of modules that cannot be directly (perhaps easily would be more accurate) loaded into a web application, as we’ve been doing.  Instead, the various modules and their […]

Read More

In the TMS lab with our students

Hello world!  You might have been used to see and read Stephanie in past posts, but today it’s time to introduce a new face! I’m Emmanuel, the internship Marketing and communication since 25th of January. My goal in this internship is to learn about the marketing side of development world, as well as creating video-, photo- and audio content for social media channels. In this blogpost we will discuss a new application that Stephanie created as internship project. The app in question is a navigation system that is based on FNC components. Before going further into it, I would like to discuss my journey within the development world as a Marketing student. It is quite important to know that I have little to no experience with coding, and that most of the components and code languages discussed in this video are mostly unknown to me. Which means that the experiences and point of view expressed could be different and less educated than most. My point of view, in some situations, is handful for having a full user perspective on the software that is being created. Sometimes a developer can create or design tools that might seem easy to them but isn’t really for the regular customer. It happens sometimes that I’m a first tester of a software that Stephanie creates. I, for example, helped her with the French language for the navigation software, as I am a native speaker. My first usage of the app also gave us path to new bugs, which were immediately patched. It feels good to know that even with no understanding of the coding world, one can still help in other ways.  My main task within the navigation app was to create a video for a quick demo of the finished application. There are a few steps to get done before starting with the video editing, which are: Introduction and learning of the software functionalities Agreement on what should be demoed Shooting and creating content + directing the present persons And afterwards starts the video-editing part, which isn’t a walk in the park! In the video, that was created in iMovie, you can also hear and see me for the French tutorial. Emmanuel Dernoncourt, Intern Marketing 

Read More

TMS FNC Chart: update with Types, Appearance and CSV Loading

Version 2.0 of the TMS FNC Chart is available. This major release brings a lot of new features.Most of them are related to quickly get the chart that you want with just a couple lines of code. An overview of the features that were implemented: Chart type specific sub classes Appearance: with the color scheme and global font Load From CSV Load From Array Load From JSON Database Adapter Grid Adapter In this blogpost we will elaborate on the first three features mentioned in the list. The others will be addressed in a follow-up blogpost. Holger has created a great video, where he combines some of the new features in a simple application.With just one line of code, he loads a CSV file in a bar chart.  Chart Type Specific Sub Classes A lot of new components were added to the package, these are all instances of the TTMSFNCChart each with a different chart type set as default. This way you can immediately start working with a bar chart (or any other) without the need to change the type of the series. Appearance You can easily set the overall look of the chart with the new Appearance property. This property currently exist of two larger parts. The color scheme can be set with a list of predefined colors, you can use the default Excel colors or you can get different shades of a selected color. The other one is the GlobalFont. This property gives you the ability to set all the fonts of the chart with one setting.You can change the size, font name, color and/or style and you can keep the proportions of all the fonts and just scale them a little bigger or smaller. Load From CSV Different ways were added to load data from a file, stream or text. And those will be further explained in some upcoming blogposts.But now we will focus on the LoadFromCSV method.This method will take the indices of the different columns that you want to use. For some parameters these are arrays of integer, that way you can create multiple series in one call. Another new property in the chart is the DefaultLoadOptions, with this property you can choose how series will be added/updated when using some kind of data loading. If you want to deviate from the defaults for one csv you can add an instance of the TTMSFNCChartLoadOptions that you’ve created to the parameters of the LoadFromCSV call. This was added because we want to be as flexible as possible. And in that regard we’ve made three different ways to add different types of data. First you have the short method: TMSFNCChart.LoadFromCSVData(myFile.csv, [1,2], -1, 0); //Parameter 1: my file, stream or text variable. //Parameter 2: Array of Integer that are mapped on the y-values. A Series will be created for each value. //Parameter 3: The x-values that you can use, as this is -1 they are skipped while loading. //Parameter 4: The index for the column that uses the labels shown on the x-axis. If not set this is -1 and skipped. A more detailed procedure that takes the second or variable values: TMSFNCChart.LoadFromCSVDataEx(myCSVStream, myLoadOptions, [1,3], -1, 0, nil, [2,4]); //Parameter 1: my file, stream or text variable. //Parameter 2: Optional load options, if not define the DefaultLoadOptions are used. […]

Read More

Profiling in Unity 2021 LTS: What, when, and how

Profiling is like detective work, unraveling the mysteries of why performance in your application is lagging, or why code is allocating excess memory. Profiling tools ultimately help you understand what’s going on “under the hood” of your Unity project. But don’t wait for significant performance problems to start showing before digging into your detective toolbox. The best gains from profiling are made when you plan early on in your project’s development lifecycle, rather than just before you are about to ship your game. It’s an ongoing, proactive, and iterative process. By profiling early and often, you and your team can understand and establish a “performance signature” for the project. If performance takes a nosedive, for instance, you’ll be able to easily spot when things go wrong, and quickly remedy the issue. You can also make before-and-after performance comparisons in smaller chunks by using a simple three-point procedure: First, establish a baseline by profiling before you make major changes. Next, profile during the development to track performance and budgeting, and finally, profile after the changes have been implemented to verify whether they had the desired effect. You should aim to profile a development build of your game, rather than profiling it from within the Unity Editor. There are two reasons for this: The data on performance and memory usage from standalone development builds is much more accurate compared to results from profiling a game in-Editor. This is due to the Profiler window recording data from the Editor itself, which can skew the results. Some performance problems will only appear when the game is running on its target hardware or operating systems, which you’ll miss if you profile exclusively in-Editor.

Read More

We’re back! Join us at the Annecy International Animation Festival 2022

Friday, June 17, 10:00–10:45 am XR for large-scale live events: A TED 2022 case study Sinan AlRubaye, Chief Experience Officer, ICVR Chris Swiatek, Chief of Product, ICVR Cassandra Rosenthal, cofounder and co-CEO, Kaleidoco Particle Ink: Speed of Dark is an immersive mixed reality experience combining street art, live performances, and XR technology. It transports the viewer into a living graphic novel using the Unity real-time 3D development platform with a mix of projection mapping and live broadcast.  Conceived by creatives from Cirque du Soleil, during the inaugural TED Talk of 2022, ICVR brought the live XR immersive experience to the 1,100-strong audience, each with one with synchronized iPads. Here, we will break down the tech behind Kaleidoco’s reveal of the Particle Ink world at the TED 2022 opening show, and discuss the future of live XR. 

Read More