You have not heard about the X# SQLRDD in a while, but that does not mean that we have forgotten about it.
However, it did get a bit lower priority while we were completing X# 3.
Immediately after the X# Summit in Potsdam, on Tuesday Feb 17 @ 14:30 we will have a meeting with several customers that are already using / testing it to discuss the common requirements and to plan to finish the RDD.
If you want to join the meeting, please email robert@xsharp.eu.

 

Fabrice Foray Summary
It's Time to RESTful With XSharp

REST is one of the underlying architectural way to exchange data of the web or with mobile applications.
On the web, clients and servers can interact in complex ways without the client knowing anything about the server and the resources it hosts.
Nowadays, it is common to exchange data and the great thing is REST makes use of the standard HTTP methods to expose your DataModel, so it is available everywhere.
First, we will explain some basics of RESTful APIs, and what we have to provide in order to create our own Server.
Then, we will use XSharp to create that Server, and use some test-tools like Postman or those available in MS Visual Studio.
As XSharp has access to our DBFs Data, let's create a model based on the Record Structure and make it available through REST.
Now that our legacy Data are open to the Web, let's access it with new technologies !

Stefan Hirsch
Creating a Webserver and using Scripting with X#

This session covers following topics:

  • create a simple self hosted web-/rest-server
  • add a simple api
  • call api from postman or browser
  • add ILogger (Serilog)
  • jump to scripting in general
    • demonstrate simple scripting
    • demonstrate scripting with calling functions from script
    • demonstrate creating a class implementing an interface and calling 
  • back to webserver
  • create an interface for registering routes
  • implement this interface in script, register routes and execute route calls in script
  • add file handling (for load html, js,... files)
  • deployment of all this
  • demonstrate full sample server (including postgres)

for more advanced developers:

  • demonstrate how to debug scripts
  • demonstrate NUnit Test used in script
Nikos Kokkalis
Chasing performance in the world of dotNET. Does performance optimization matter in the dotNET era, or is the JIT compiler as good as it gets?
Can I use one data structure for everything?
What are the performance implications of various choices? Let's find out in this talk!
Peter Monadjemi  
Vibe Coding and Sofware Quality The world of software development is constantly changing. The introduction of AI assistant has accelerated the speed of which these changes occur rapidly. New AI tools are announced on a weekly basis, and it sometimes seems that the traditional “coding” became old-fashioned, like vinyl records or VHS tapes.
Although that’s definitely not the case, there can be no doubt that software development in the year 2026 is radical different from software development a few years ago. Development with X# is no exception.
One of the new term developers talk a lot about worldwide is called Vibe Coding.
Vibe Coding means writing code in a way that keeps you in the flow: fast feedback loops, readable structures, clear naming, and a development rhythm that makes daily work more enjoyable. Surprisingly, X# offers a lot of opportunities to code with a great vibe, especially for developers coming from Visual Objects or another xBase language.
The development is done with Visual Studio but with the help of an AI assistant like *CoPilot*. But it does not have to be *ChatGPT* or another commercial LLM. It can be a LLM that runs locally as well.
And in contrary to some believes, Vibe Coding is not a concept for writing programs from scratch with no or little intent to actually code. It’s also very well suited for improving existing code, no matter how old it is.
Through practical examples, small patterns, and a live refactoring demo, we’ll explore how to make X# code easier to understand, maintain, and extend — without adding unnecessary complexity.
This session is for developers who want their code to be not only correct, but also pleasant — code they’re happy to return to weeks or years later.
Basile Mellac
Read/Write to your tables with typed Linq queries and typed POCO objects This session presents some work based on IQtoolkit, writing an ADSProvider.
Basically it's a LinqToSQL library that uses Advantage ADO.net provider and some specific code for ADS SQL that opens you the magical world of IQueryable<T>
With that you can read/write into your DBFiles with typed Linq queries !
Selecting data with provider.GetTable<ClassName> gives you an IQueryable<ClassName> which basically opens you all the doors to all the IQueryable compatible components.
In our project it gives us the ability to use DevExpress grid controls LINQ DataSource with all the bells and whistles it brings (grouping, filtering, summing, paging, virtual scrolling, ... )
The provider supports associations, lazy loading, native scalar function translation (Convert.ToInt32(column) becomes VAL(column)), composite DateTime manipulation.
And because the Advantage SQL engine is so well written, it will even use the indexes it can detect based on the where clauses.
And because ADS gives us a library (adsloc32.dll) to "emulate" a remote server, you can use all that with DBF/CDX direct file access !!
Well there are so many things to cover, if you (and the XSharp community) are interested !
For now it's in a beta stage, we're using it in pre-production for our webapi projects.
It specifically supports DBF/CDX (and all its limitations, likes Dates only, no FK, no PK, etc..) and can be extended to unleash the power of VFP and then ADT !
Chris Pyrgas  
XSharp Advanced Tips and Tricks Chris will demonstrate the new features in the XSharp 3 compiler and will show some advanced topics on how to use XSharp to improve the performance of your applications.
Wolfgang Riedmann  
a WPF framework to build WPF applications in X#, using MVVM and databinding Wolfgang uses a code only approach to write WPF applications. He will demonstrate this in this session and explain how MVVM and databinding work.
Irwin Rodriguez
Adding AI to your apps with X# This session shows how to integrate Large Language Models into X# applications using practical, provider-agnostic patterns like ReAct, sliding context windows, and lightweight RAG, all implemented in pure X# Core. You'll see a live demo of an XIDE plugin that safely assists with legacy code modernization, without overwriting your code or relying on magic. This is AI as software engineering, built for developers who value control and reliability."
Robert van der Hulst  
Move your apps from .Net Framework to .Net Next

XSharp 3 comes with support for .Net 8,9,10 and for the new SDK projects that are needed to build these apps with MsBuild
In this session, Robert will take some existing .Net Framework apps and will convert them to .Net 10.
Topics shown are:
- Migrating the project files
- Changes needed in the source code
- Advantages of the migration
- Problems that may occur.

Opening Session & Closing Session