<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VB &#8211; Xojo Programming Blog</title>
	<atom:link href="https://blog.xojo.com/tag/vb/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.xojo.com</link>
	<description>Blog about the Xojo programming language and IDE</description>
	<lastBuildDate>Wed, 18 Dec 2024 19:58:27 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Over 20 years of native, cross-platform app development and still going strong</title>
		<link>https://blog.xojo.com/2023/09/06/over-20-years-of-native-cross-platform-app-development-and-still-going-strong/</link>
		
		<dc:creator><![CDATA[Xojo]]></dc:creator>
		<pubDate>Wed, 06 Sep 2023 21:32:28 +0000</pubDate>
				<category><![CDATA[Cross-Platform]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[App Development]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Development Tools]]></category>
		<category><![CDATA[FileMaker]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Multi-Platform Development]]></category>
		<category><![CDATA[Native App Development]]></category>
		<category><![CDATA[Rapid Application Development]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[VB Alternative]]></category>
		<category><![CDATA[VB for Mac]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Xojo Programming Language]]></category>
		<guid isPermaLink="false">https://blog.xojo.com/?p=12012</guid>

					<description><![CDATA[The recent news about Microsoft discontinuing Visual Studio's support for Mac has got us talking about longevity in the field of software development. We all know technology changes rapidly and you, and the tools you use, can't afford to stand still. Here's an infographic that illustrates how Xojo's been continually updating and modernizing since 1996 while other development tools come and go.]]></description>
										<content:encoded><![CDATA[
<p>The recent news about Microsoft <a href="https://9to5mac.com/2023/08/30/microsoft-visual-studio-mac-discontinued/">discontinuing Visual Studio</a>&#8216;s support for Mac has got us talking about longevity in the field of software development. We all know technology changes rapidly and you, and the tools you use, can&#8217;t afford to stand still. </p>



<p>With this in mind, here&#8217;s an infographic that illustrates how Xojo&#8217;s been continually updating and modernizing since 1996 while other development tools come and go. </p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="410" height="1024" src="https://blog.xojo.com/wp-content/uploads/2023/08/FINAL-2023-black-edit-VS-ARM-edits-410x1024.jpg" alt="" class="wp-image-12014" srcset="https://blog.xojo.com/wp-content/uploads/2023/08/FINAL-2023-black-edit-VS-ARM-edits-410x1024.jpg 410w, https://blog.xojo.com/wp-content/uploads/2023/08/FINAL-2023-black-edit-VS-ARM-edits-120x300.jpg 120w, https://blog.xojo.com/wp-content/uploads/2023/08/FINAL-2023-black-edit-VS-ARM-edits-768x1920.jpg 768w, https://blog.xojo.com/wp-content/uploads/2023/08/FINAL-2023-black-edit-VS-ARM-edits.jpg 800w" sizes="(max-width: 410px) 100vw, 410px" /></figure>



<ul class="wp-block-social-links has-normal-icon-size is-content-justification-center is-layout-flex wp-container-core-social-links-is-layout-16018d1d wp-block-social-links-is-layout-flex"><li class="wp-social-link wp-social-link-facebook  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.facebook.com/goxojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg><span class="wp-block-social-link-label screen-reader-text">Facebook</span></a></li>

<li class="wp-social-link wp-social-link-x  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://x.com/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" /></svg><span class="wp-block-social-link-label screen-reader-text">X</span></a></li>

<li class="wp-social-link wp-social-link-linkedin  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.linkedin.com/company/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class="wp-block-social-link-label screen-reader-text">LinkedIn</span></a></li>

<li class="wp-social-link wp-social-link-github  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://github.com/topics/xojo" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class="wp-block-social-link-label screen-reader-text">GitHub</span></a></li>

<li class="wp-social-link wp-social-link-youtube  wp-block-social-link"><a rel="noopener nofollow" target="_blank" href="https://www.youtube.com/c/XojoInc" class="wp-block-social-link-anchor"><svg width="24" height="24" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><path d="M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z"></path></svg><span class="wp-block-social-link-label screen-reader-text">YouTube</span></a></li></ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XojoTalk 032 &#8211; Copy, Paste, Search and Replace</title>
		<link>https://blog.xojo.com/2017/06/14/xojotalk-032-copy-paste-search-and-replace/</link>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Wed, 14 Jun 2017 10:07:00 +0000</pubDate>
				<category><![CDATA[XojoTalk]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<guid isPermaLink="false">http://blog.xojo.com/?p=2923</guid>

					<description><![CDATA[The XojoTalk podcast is hosted by Xojo's Developer Evangelist Paul Lefebvre. Paul talks with Xojo team members as well as Xojo developers and community members about Xojo and whatever the heck else comes up!]]></description>
										<content:encoded><![CDATA[<p>Paul talks with Terry Eutsler, of Softbase Development, Inc, about how he migrated a large enterprise app from VB6 to Xojo, old-school programming, music and more.</p>
<p>Download <a href="http://files.xojo.com/Podcasts/XojoTalk-032.mp3">mp3</a>.</p>
<p><audio class="wp-audio-shortcode" id="audio-2923-1" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="http://files.xojo.com/Podcasts/XojoTalk-032.mp3?_=1" /><a href="http://files.xojo.com/Podcasts/XojoTalk-032.mp3">http://files.xojo.com/Podcasts/XojoTalk-032.mp3</a></audio></p>
<h2>Show Notes</h2>
<ul>
<li><a href="http://www.softbasedev.com">Softbase Development</a></li>
<li><a href="https://blog.xojo.com/2013/06/19/a-modern-alternative-to-visual-basic/">A modern alternative to Visual Basic</a></li>
<li><a href="http://developer.xojo.com/webinar-migrating-from-vb">Migrating from VB to Xojo</a></li>
<li><a href="http://arband.com">AlgoRhythms</a></li>
</ul>
]]></content:encoded>
					
		
		<enclosure url="http://files.xojo.com//Podcasts/XojoTalk-032.mp3" length="19406598" type="audio/mpeg" />

			</item>
		<item>
		<title>Gartner: Mobile apps can&#8217;t be created fast enough. What&#8217;s the solution?</title>
		<link>https://blog.xojo.com/2015/07/20/gartner-mobile-apps-cant-be-created-fast-enough-whats-the-solution/</link>
		
		<dc:creator><![CDATA[Paul Lefebvre]]></dc:creator>
		<pubDate>Mon, 20 Jul 2015 00:00:00 +0000</pubDate>
				<category><![CDATA[Cross-Platform]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Citizen Developer]]></category>
		<category><![CDATA[Gartner]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Rapid Application Development]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<guid isPermaLink="false">http://blogtemp.xojo.com/2015/07/20/gartner-mobile-apps-cant-be-created-fast-enough-whats-the-solution/</guid>

					<description><![CDATA[Gartner: Mobile apps can't be created fast enough. What's the solution? At Xojo, we have been building rapid application development tools for more than a decade so we know how to do it. ]]></description>
										<content:encoded><![CDATA[<p>Speaking at one of their conferences, Gartner principal research analyst Adrian Leow <a href="http://www.gartner.com/newsroom/id/3076817" target="_blank" rel="noopener">said</a> last week that enterprises are increasingly finding it difficult to build all the mobile apps they need. The demand for mobile apps is increasing far faster than the supply of mobile developers can create them and it&#8217;s only going to get worse. This is clearly a problem.</p>
<p>There are three possible solutions to this problem:</p>
<ol>
<li>Find a way to decrease the demand of mobile apps. (Good luck with that one.)</li>
<li>Increase the number of mobile developers.</li>
<li>Decrease the time it takes to build mobile apps.</li>
</ol>
<p>Solutions 2 and 3 are not mutually exclusive. You could potentially do both. Adrian Leow even points to the solution when he suggests that developers use rapid mobile app development tools. These tools can provide solution 3, but they don&#8217;t create necessarily create more developers.</p>
<p><span id="more-245"></span></p>
<p><strong>At Xojo, we have been building rapid application development tools for more than a decade so we know how to do it.</strong> Plus, we know how to make it easy enough that <a href="https://blog.xojo.com/2015/11/19/the-citizen-developer/">citizen developers</a> (those that build apps but don&#8217;t have &#8220;developer&#8221; in their job title) can build the apps they need themselves. Xojo supports the ability to build native iPhone and iPad apps along with the ability to build web and desktop apps from a single IDE and language. Xojo is ideal for citizen developers as they often need desktop or web counterparts to their mobile apps. Anyone with experience in <a href="https://blog.xojo.com/2013/06/19/a-modern-alternative-to-visual-basic/">Visual Basic</a> will find it quite easy to adapt to Xojo.</p>
<p>Xojo provides the combined solution that creates more developers by enabling citizen developers taking some of the burden off of IT and dramatically decreasing the development time of mobile applications.</p>
<p><span id="hs-cta-wrapper-ab064e20-19a4-4785-8b3b-1e54dc67c8e8" class="hs-cta-wrapper"><span id="hs-cta-ab064e20-19a4-4785-8b3b-1e54dc67c8e8" class="hs-cta-node hs-cta-ab064e20-19a4-4785-8b3b-1e54dc67c8e8"><a href="https://blog.xojo.com/2015/07/22/rapid-application-development/"><img decoding="async" id="hs-cta-img-ab064e20-19a4-4785-8b3b-1e54dc67c8e8" class="hs-cta-img aligncenter" style="border-width: 0px; margin: 0 auto; display: block; margin-top: 20px; margin-bottom: 20px;" src="https://blog.xojo.com/wp-content/uploads/2015/07/ab064e20-19a4-4785-8b3b-1e54dc67c8e8.png" alt="Rapid App Development" width="607" height="103" align="middle" /></a></span></span> <!-- end HubSpot Call-to-Action Code --></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Operator_Lookup and ParamArray</title>
		<link>https://blog.xojo.com/2015/05/15/operator_lookup-and-paramarray/</link>
		
		<dc:creator><![CDATA[William Yu]]></dc:creator>
		<pubDate>Fri, 15 May 2015 00:00:00 +0000</pubDate>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[VB]]></category>
		<guid isPermaLink="false">http://blogtemp.xojo.com/2015/05/15/operator_lookup-and-paramarray/</guid>

					<description><![CDATA[Operator_Lookup and ParamArray]]></description>
										<content:encoded><![CDATA[<p><span style="line-height: 1.62;">Operator_Lookup and ParamArray are two language features that have been in Xojo for a while now, but most probably don&#8217;t know why they were originally added. The need grew out from having to support COM on Windows.<br />
</span></p>
<p><span id="more-211"></span></p>
<p><span style="line-height: 1.62;">First, let&#8217;s take a look at COM and its IDispatch interface. This interface is used by automation clients (like Xojo and VB) to access the COM component. At the high level view of this interface it is much like Introspection. The interface has methods to obtain a list of properties/methods that the COM component exposes and a way to Invoke them. For example, this is how one could use the ADO COM component to open a database connection using VB:</span></p>
<pre>Dim Cnxn As Object
Set Cnxn = CreateObject("ADODB.Connection")
' Open connection
Cnxn4.Open("Pubs", "MyUserId", "MyPassword")
</pre>
<p><span style="line-height: 1.62;">Under the hood, the Cnx4.Open call is communicating with the ADO component via IDispatch by looking up the &#8220;Open&#8221; method and Invoking that function if it exists. </span><span style="line-height: 1.62;">The equivalent Xojo code (without use of Operator_Lookup or ParamArray) would look something like this:</span></p>
<pre>Dim Cnxn As New OLEObject("ADODB.Connection")

' Open connection
Dim params(2) As Variant  
params(0) = "Pubs"  
params(1) = "MyUserId"  
params(2) = "MyPassword"

Cnxn.Invoke("Open", params)</pre>
<p>While functional, it doesn&#8217;t look or feel as nice as the VB equivalent. Enter Operator_Lookup. This operator overloads the class&#8217;s lookup operator. So whenever you call a method or property, for example Object.MyMethod, the Operator_Lookup is called with the name of the method or property (in this case &#8220;MyMethod&#8221;) passed as a parameter. By overloading this operator on the OLEObject class, you can now do something like this:</p>
<pre>Cnxn.Open(params)</pre>
<p><span style="line-height: 1.62;">Underneath the hood the OLEObject implementation of Operator_Lookup looks something like this:</span></p>
<pre>Sub Operator_Lookup(name As String, params() As Variant)
  Me.Invoke(name, params)
End Sub</pre>
<p><span style="line-height: 1.62;">Now that we&#8217;ve overloaded Operator_Lookup the next step to making this code look more like VB is to use ParamArray. By using a ParamArray, the user can now pass an indefinite number of parameters to the function without formally using an array. The final Operator_Lookup function would look something like this:</span></p>
<pre>Sub Operator_Lookup(name As String, ParamArray params As Variant)  
  Me.Invoke(name, params)  
End Sub</pre>
<p><span style="line-height: 1.62;">Now our code can simply call Open with all the parameters supplied on the same line:</span></p>
<pre>Dim Cnxn As New OLEObject("ADODB.Connection")
Cnxn4.Open("Pubs", "MyUserId", "MyPassword")</pre>
<p><span style="line-height: 1.62;">In conclusion, while ParamArray is more useful in the general sense, Operator_Lookup can be useful in situations like this where simplification makes sense. To round out our COM support we also had to add an OLEParameter class because it&#8217;s quite common in the COM world to pass parameters by name/position. So even though our compiler doesn&#8217;t support passing parameters by name, by using the OLEParameter class you can specify which parameters and their exact types to pass.</span></p>
<p><span style="line-height: 1.62;">Feel free to post any questions here.<br />
</span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Modern Alternative to Visual Basic</title>
		<link>https://blog.xojo.com/2013/06/19/a-modern-alternative-to-visual-basic/</link>
		
		<dc:creator><![CDATA[Xojo]]></dc:creator>
		<pubDate>Wed, 19 Jun 2013 00:00:00 +0000</pubDate>
				<category><![CDATA[Cross-Platform]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Citizen Developer]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Multi-Platform Development]]></category>
		<category><![CDATA[Native App Development]]></category>
		<category><![CDATA[Rapid Application Development]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<guid isPermaLink="false">http://blogtemp.xojo.com/2013/06/19/a-modern-alternative-to-visual-basic/</guid>

					<description><![CDATA[Xojo is a modern alternative to Microsoft Visual Basic. A single language to build apps for Mac, Windows and Linux desktop, plus web, iOS and Raspberry Pi (Android coming soon). With Xojo you simply develop faster.]]></description>
										<content:encoded><![CDATA[
<p>Update for 2021: <a href="https://blog.xojo.com/2021/06/24/modern-visual-basic-for-your-mac/">Modern Visual Basic for your Mac</a></p>



<p>Xojo is the modern alternative to Microsoft Visual Basic. Xojo is a single language to build apps for Mac, Windows and Linux desktop, plus web, mobile and Raspberry Pi. Cross-compile desktop apps and use the same powerful language to develop for web and mobile too.</p>



<span id="more-33"></span>



<h2 class="wp-block-heading">Develop Faster with Xojo</h2>



<p>Xojo is more powerful than VB6 while at the same time more approachable than VB.NET. With Xojo, a single project can create desktop apps that work on Windows, macOS, Linux and Raspberry Pi.&nbsp;Unlike VB and Visual Studio, Xojo allows you to develop on your platform of choice- Windows, Mac or Linux. </p>



<figure class="wp-block-image size-large"><img decoding="async" width="960" height="540" src="https://blog.xojo.com/wp-content/uploads/2020/02/xojo-visualbasic.gif" alt="" class="wp-image-6658"/></figure>



<h2 class="wp-block-heading">Modernize Legacy Desktop Apps with Web and Mobile</h2>



<p>Because Xojo can create apps for so many platforms, it is a great way to modernize and update your legacy desktop apps to web or mobile apps.</p>



<p>With Xojo, web apps are as easy to make as desktop apps. Use Xojo&#8217;s powerful language to create your web app instead of HTML, CSS, PHP, JavaScript, and AJAX and save tons of development time. Xojo web apps can be deployed to any server (Linux, macOS or Windows) and can also use the industry standard Apache web server. </p>



<p>These days mobile apps are often a necessity. Design your Xojo iOS apps using drag and drop in the layout editor, add your code and publish. Access the iOS-features you&#8217;d expect, like sharing panel and your photo library, and also the iPhone&#8217;s hardware-based features, like motion, location and camera. Xojo makes iOS development familiar and fast. Xojo Android is currently in development and will be testing soon.</p>



<h2 class="wp-block-heading"><strong>Similarities between Xojo and Visual Basic</strong></h2>



<p><strong><em>Language</em></strong></p>



<p>The Xojo&nbsp;programming language is very similar to Visual Basic. It has commands like If..Then..Else, For..Next, and While..Loop. You will also find the object-oriented capabilities of Xojo quite similar to VB.NET. </p>



<p><strong><em>Data Types</em></strong></p>



<p>Xojo shares many of the same data types with VB6 and VB.NET, including: Integer, Double, String/Text, Currency, Boolean, Variant.</p>



<p><strong><em>Controls</em></strong></p>



<p>Xojo has many common controls including: Buttons, Labels, TextFields, TextAreas, ListBoxes (grids), PopupMenus, ProgressBars, toolbars and more.</p>



<h2 class="wp-block-heading"><strong>Differences between Xojo </strong>and Visual Basic</h2>



<p><strong><em>Compiler and Run-time</em></strong></p>



<p><strong>Xojo apps are compiled to native code.</strong> They do not contain byte-code that is run by a virtual machine (as with .NET). The run-time library is included with your applications so there is nothing additional that needs to be installed on users&#8217; computers.</p>



<p><strong><em>Language and Framework</em></strong></p>



<p>Xojo is fully object-oriented. Unlike VB6, you can have classes that use inheritance and other object-oriented features. The Xojo framework is designed to be simple to use and support cross-platform applications; it provides access to many things you&#8217;ve come to expect such as file handling, databases, graphics and more.</p>



<p><strong><em>File I/O</em></strong></p>



<p>One of the biggest differences between VB6 and Xojo is file I/O. Xojo consolidates all its file processing into a few classes: FolderItem, TextInputStream, TextOutputStream and BinaryStream. VB6 uses hard-coded file paths and less flexible file access methods, primarily because it only needs to work with Windows-specific file paths.</p>



<p><strong><em>Data Types</em></strong></p>



<p><strong>Xojo is strongly typed, just like VB.NET</strong>. VB6 allows you to do some things the old-school, BASIC way, the most significant of which is using variables without declaring them (the type is inferred by a suffix on the name). Xojo does not allow this. Use the OPTION EXPLICIT command in all your Visual Basic code to have VB enforce explicit variable declarations.</p>



<p><strong><em>Improved Error Handling</em></strong></p>



<p>Xojo has modern exception handling using Try/Catch, Exception and App.UnhandledException.</p>



<p><strong><em>Shared Libraries</em></strong></p>



<p>Xojo cannot create DLLs, ActiveX controls, .NET assemblies or any kind of shared libraries. Since these are all Windows-specific technologies, that is somewhat understandable. You&#8217;ll either need to rethink your design or just re-use these components from within Xojo (and limit yourself to deploying only on Windows).</p>



<h2 class="wp-block-heading"><strong>Switching to Xojo</strong></h2>



<p>Xojo is free for learning and development. Take your time to see how Xojo can help with your next project. Develop, run and debug your application with the free IDE, only purchase a license when you are ready to compile. Learn more about Xojo, read the <a href="https://documentation.xojo.com/getting_started/introduction/what_is_xojo?.html">User Guide</a> and visit the <a href="http://documentation.xojo.com">Xojo Docs</a>.</p>



<p>If you find yourself frustrated with VB.NET or are looking for something to replace VB6, be sure to test out Xojo. It might be just right for you. Watch the <a href="https://youtu.be/9d9PhFWCQC4">Migrating from VB video</a>&nbsp;to see how a simple app is migrated to Xojo and visit our Migrating from Visual Basic page at the <a href="https://documentation.xojo.com/topics/migrating_from_other_development_tools/migrating_from_visual_basic.html">Xojo Docs</a>&nbsp;for more details.<span id="hs-cta-wrapper-2b089117-fb62-4ab3-b47b-992c02d8a698" class="hs-cta-wrapper"><span id="hs-cta-2b089117-fb62-4ab3-b47b-992c02d8a698" class="hs-cta-node hs-cta-2b089117-fb62-4ab3-b47b-992c02d8a698"></span></span> </p>



<p><em>Updated June 2020</em></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
