Kevin,

I wanted to follow up and let you know based on your recommendations, I have 
been playing around with Xojo in a more in-depth way for the last 30 days and 
while I can't say I'm expert by any stretch, I've been able to piece together a 
little bit of working code using some of the examples and I'm fairly happy with 
what I've accomplished so far. I'm approaching Xojo differently this time 
(thanks to you) and I think perhaps this third attempt to learn Xojo may be 
more successful. 

First, I chose a project to convert from Foxpro to Xojo which is relatively 
uncomplicated and makes sense to build in Xojo instead of trying to replicate 
my main production work environment at this point. 

Secondly, I've challenged myself to spend 30-60 minutes each day to make just 
one thing work in the new project. Maybe it is just making a splash screen, or 
creating a screen to add or edit items to a simple table, or figuring out how 
to pass parameters to a window or use a new class/method/property/etc. By 
limiting my time in Xojo, I don't get too frustrated and because the daily 
goals are small, I get to celebrate a small win each day instead of feeling 
like a failure because I'm still miles away from the finished product. This 
strategy also gives me time in between sessions to think and process what I've 
been working on and that has helped with my understanding greatly. Some days I 
simply re-do what I did the day before because having thought about it, I come 
up with a better way to accomplish the same thing. 

Finally and most importantly,  I've come to accept this will not be a quick 
transition and accepting that fact has let me focus on the fun of learning 
instead of the stress of trying to get a job done. 

I'll post some updates later if anyone is interested in this journey with Xojo 
I've started. 

Thanks for all your comments and input!

Paul H. Tarver


-----Original Message-----
From: ProfoxTech [mailto:[email protected]] On Behalf Of Kevin J 
Cully
Sent: Monday, February 25, 2019 10:53 AM
To: [email protected]
Subject: RE: [NF] Migrating Skills From Foxpro to Xojo

Hello Paul and other potentially Xojo interested parties,

First thing to remember is that Xojo is not Foxpro.  It has different strengths 
and weaknesses.  I love programming in it as I find it simple and easy to get 
started, but doesn't have many limitations to what it can do.  Sound like 
Foxpro?  You would *never* program a modern video game in Xojo however.  That 
also sounds like Foxpro.

If you don't like Xojo, no problem.  We can still be friends.  Don't like the 
closed source nature of it?  Too expensive?  Not enough events?  Not data 
centric enough?  I get it.

There is a lot to like however.
1. First, it's not owned by Microsoft.  Xojo is a USA based small company that 
has been around for over 20 years, and has their developers and staff spread 
out throughout the world.  And they are really nice people that are interested 
in developing a great product.
2. You can develop desktop, web and console applications.  Yup, with a singular 
code base of classes, you can share them across projects that target these 
different project types.
3. It is multi-platform: Winblows, Mac, Linux, Raspberry Pi (Linux), and iOS.  
Android apps coming soon but I'm not sure exactly when.
4. You can get started for free!  You can download the IDE and build as many 
applications as you like and use it forever without paying Xojo one cent.  You 
only need a license when you build and application (such as an EXE on Windows) 
and a license for the target platform.  I prefer the "Xojo Pro" license as it 
gets all of the platforms I am interested in.
5. Licensing is reasonable in cost and scope.  The cost for a Pro license is 
$700 and gets you all updates for a year (typically 3-4 releases in a year) and 
you can build for almost any platform.  If you let your license lapse, you can 
continue to use that Xojo IDE forever, you just won't get updates.  A lot of 
developers pay for a license every other year as a cost savings plan.  You can 
develop as many solutions and deploy to as many customers as you like.  You 
don't need to let Xojo know about any of it! There were several other "VFP 
Replacements" that wanted to know about your customers.  Unacceptable in my 
mind.
6. Xojo uses native controls.  This is foreign to us.  VFP runs only on Windows 
and we don't even think about the fact that they are windows controls.  
Remember running old Java applications and Windows and they seemed "funny"?  
The controls didn't look right?  That's because they were drawn in Java.  Mac 
people hate that.  Hate that with a passion.  A Mac app needs to look and work 
like a Mac app.  Xojo (appropriately) made the design decision that all 
platforms will use the target platform native controls.  Windows apps work and 
look like Windows apps.  Linux apps look and feel like Linux apps. Etc.  Don't 
underestimate how important this decision was.  This also means that Xojo can 
be handcuffed to operating on the least-common-denominator of events and 
controls however.  Not seeing your favorite control built into Xojo? It might 
be because it isn't available on all platforms.  Don't panic!  You can add it 
yourself or purchase it from a 3rd party supplier.  
7. Xojo is database agnostic.  It natively works with SQLite out of the box, 
but has plugins to interface with Microsoft SQL Server, MySQL, PostgreSQL, and 
anything you can access with ODBC.  Not seeing your favorite database there?  
There may be a plugin available either open sourced or as a paid solution.  
MongoDB anyone?
8. Xojo holds a conference every year called XDC.  (https://www.xojo.com/xdc/ ) 
At the conference will be the president of Xojo Geoff Perlman, their marketing 
staff, and almost every single engineer and technical support staff in the 
company.  You can eat breakfast, lunch and dinner with each of them.  Amazing 
really.  Did Microsoft send the engineers to the Foxpro conferences? Not that I 
can remember.  Perhaps they did.  But, every single year Xojo steps up to the 
plate.
9. The same good feeling you have with developing in VFP, you can have in Xojo. 
 Quickly prototype a solution?  Grow a small system into a large 
10. You can deploy web apps to Xojo Cloud with a single click (although it is a 
little pricy) or you can deploy to a Linux server such as a Digital Ocean 
droplet for as little as $5 per month (or something like $0.07 per hour).  
That's really cool.  Getting Foxpro supported hosting was pretty expensive and 
hard.  YMMV.
11.  Don't like the book to learn Xojo?  Check out the Xojo YouTube channel: 
https://www.youtube.com/user/goxojo
12. Want to learn Xojo by example?  Xojo comes with *hundreds* of examples 
covering many many subjects.  When I'm trying something that I've never done 
before, I just click the "New Project > Examples"  and choose from the plethora 
of examples.  I wish Foxpro had that many examples when I got started decades 
ago.
13. I've developed a "VFP" class for Xojo to help.  Want STRTOFILE() and 
FILETOSTR() that works cross-platform?  STRTRAN()?  You can even ADDBS()?  I'm 
happy to share that and it helps ease the transition to Xojo.  Eventually I 
stopped using these functions and went native, but it was nice to transition.
... There is more good stuff about Xojo, but I'll stop here ...

Is it all good stuff?  Heck no.
1. You cannot press a magic button and convert over your VFP solutions.  The 
languages are cousins of each other, but it will still be a rewrite.  I chose 
to just write new applications in Xojo and eventually I got to all Xojo.
2. Data handling is different.  Xojo uses recordsets and not cursors.  You 
handle the data a bit more "manually" than the magic of ControlSources.  It 
wasn't a big deal to me, but it does keep you from creating forms with millions 
of data controls.  That might be a good thing?
3. The built in report writer is pitiful.  For the most part, I write my 
reports out to HTML/CSS and display into the browser.  There is a 3rd party 
report writer called Bikini Shorts that is really powerful and wicked fast. 
(https://bkeeney.com/allproducts/bkeeney-shorts/ )
4. The Xojo community is pretty nice for the most part, but there are a couple 
of people that are mean and petty.  Be prepared to go into the Xojo forum and 
read some of that.  I think they're full of piss and vinegar because they know 
that Xojo cares and is listening.  For some people, the sky is always falling.  
Some people just want to see the world burn.  Most people are very kind and 
helpful.  That's the aspect to focus on and forget the nasty people.  We don't 
have time for that.
... 

Okay. My fingers are moving on to other tasks.  All I can say is that I like it 
and I've created some good business solutions for my employer that I think have 
made things better!  Take Xojo for a spin.  I like it and you may as well.

-Kevin



-----Original Message-----
From: ProFox [mailto:[email protected]] On Behalf Of Kevin J Cully
Sent: Friday, February 22, 2019 4:57 PM
To: ProFox Email List <[email protected]>
Subject: RE: [NF] Migrating Skills From Foxpro to Xojo

There's a lot there.  I'm out of time for the day unfortunately.  Let me give 
you a full response on my thoughts on migrating to Xojo on Monday sometime.

-Kevin


-----Original Message-----
From: ProFox [mailto:[email protected]] On Behalf Of Paul H. Tarver
Sent: Friday, February 22, 2019 12:04 PM
To: [email protected]
Subject: [NF] Migrating Skills From Foxpro to Xojo

I hijacked the original thread with a reply changing the subject and adding an 
[NF] flag to the subject because a small comment Kevin made caused me chase a 
different rabbit for a little bit. 

I have reviewed Xojo on a couple of different occasions over the past few years 
and I have tried to work my way through the book that was written to teach 
people how to program it and I find myself drifting by the 3rd or 4th chapter 
every time. Not a fault of the author; just rather a fault of me wanting 
something a little more advanced.  Anyway, I've run into a couple of hurdles 
with trying to learn Xojo and perhaps someone here has some suggestions to help 
me out. 

Try not to laugh at what may be very dumb questions! :)

1) I build a lot of similar but customized apps using a shared library of tools 
I've developed over the past 25 years. Every app I build contains a LOT of 
forms, reports and programs shared by all my applications as well as a lot of 
forms, reports and programs which are copied from previous projects and then 
customized for the current client. While I have seen multiple Xojo advocates 
confirm a similar process is possible, but I cannot find clear explanations of 
how to make that happen. 

2) Every Foxpro application I build starts with a .PRG which reads a 
configuration .INI file and then setups up the environment, displays a splash 
screen, checks my version numbers, calls a database update process if a version 
change is detected and if all is good, it displays the main screen for the 
user. Once the user chooses to exit my application, a shutdown process is 
initiated and everything is closed in an orderly way. That having been said, I 
have been unable to find source code to a simple, complete Xojo application or 
instruction book that can walk me through the start to finish logic and firing 
order of all the start-up and shut-down events and allow me to compare that to 
the process I'm so familiar with in Foxpro. 

3) Are there any good white-papers or books by Foxpro programmers that can 
provide insights into translating my Foxpro knowledge and skill directly into 
Xojo.

I use Foxpro on a daily basis for my business because I cannot find a language 
that satisfies my clients' needs the way Foxpro does. I would love to be able 
to say I have a backup language like Xojo, but I get only so far before I give 
up and go back to what I know and love. So let's assume Kevin is correct when 
he states Xojo is " a viable language for VFP developers" because I do not want 
to go down the rabbit hole of considering all the other alternatives for this 
sake of this discussion and share with me any tips that can help me understand 
Xojo on a higher level beyond just creating a simple form. I want to understand 
Xojo at a Complete Deliverable Application level and talk about mimicking the 
features I depend upon in Foxpro to share a library of tools, forms and code 
across hundreds of similar custom applications. 

Paul H. Tarver



-----Original Message-----
From: ProfoxTech [mailto:[email protected]] On Behalf Of Kevin J 
Cully
Sent: Friday, February 22, 2019 8:11 AM
To: [email protected]
Subject: RE: false news....

Well, a lot of that article is correct, even though I don't want it to be.  VFP 
as a *language* is as secure as the programmer programmed it to be.  VFP as a 
*database* isn't secure itself.  You can encrypt fields.  You can encrypt the 
directory that the data is stored in.  But DBF data isn't secure.  You wouldn't 
store social security numbers or credit card numbers in Excel spreadsheets, 
right?

I've haven't recommended DBFs for storage for over a decade now.  There are 
better storage mechanisms such as Postgres, MariaDB, and even SQLite which can 
be set up as an encrypted database.  VFP as a language is still valid, although 
it will never be able to create 64bit applications but that is a different 
subject.  [Insert Xojo plug here as a viable language for VFP developers.]  I 
had a potential client where they based their primary keys based on employee 
Social Security Numbers.  They didn't like it when I told them that they'd need 
a complete rewrite. Notice this would have been the case no matter what 
language/technology they were using.  It was just piss poor design.

It appears from the article, that when the vendor was notified of the 
situation, that they were able to quickly address it although the article 
didn't say what that solution was.  Probably encrypted the field?  Hash the 
field with an external secured table containing the sensitive data? Who knows. 
To me, that's a win.  Hopefully the vendor contacts all customers notifying 
them that there is a vulnerability and that there is a solution available.

As Ted Roche always says "Security is a process".

-Kevin

-----Original Message-----
From: ProFox [mailto:[email protected]] On Behalf Of Dave Crozier
Sent: Friday, February 22, 2019 6:07 AM
To: 'ProFox Email List' <[email protected]>
Subject: VFP: false news....

Ignorance and stupidity still runs in the so-called “expert consultant” 
fraternity.

“An outdated software that is used by about 200 Vermont municipalities and the 
Vermont Tax Department has long contained flaws that exposed sensitive 
information including Social Security numbers, according to an IT consultant 
and the software company’s founder.”
“You could make a strong case that Visual FoxPro shouldn’t be used on a 
government level,” Johnson said.

https://vtdigger.org/2019/02/05/consultant-outdated-software-left-worker-information-exposed-200-towns/

Thankfully the software owners realise that it isn’t a fault in VFP, it is a 
fault in the designing of the infrastructure.

Expert:
Ex - Out of date
Spurt – a drip under pressure!!

Dave Crozier
Software Development Manager
Flexipol Packaging Ltd.

﴾⚆ᨎ⚆﴿



Flexipol® Packaging Ltd
T 01706 222 792
E [email protected]
W https://www.flexipol.co.uk/
Follow us: 
Unit 14 Bentwood Road, Carrs Industrial Estate, Haslingden, Lancashire, BB4 5HH

​This communication and the information it contains is intended for the person 
or organisation to whom it is addressed. Its contents are confidential and may 
be protected in law. If you have received this e-mail in error you must not 
copy, distribute or take any action in reliance on it. Unauthorised use, 
copying or disclosure of any of it may be unlawful. If you have received this 
message in error, please notify us immediately by telephone or email.
  
Flexipol Packaging Ltd. has taken every reasonable precaution to minimise the 
risk of virus transmission through email and therefore any files sent via 
e-mail will have been checked for known viruses. However, you are advised to 
run your own virus check before opening any attachments received as Flexipol 
Packaging Ltd will not in any event accept any liability whatsoever once an 
e-mail and/or any attachment is received.
  
 It is the responsibility of the recipient to ensure that they have adequate 
virus protection.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
​​
​Terms & Conditions:
 Notwithstanding delivery and the passing of risk in the goods, the property in 
the goods shall not pass to the buyer until the seller Flexipol Packaging Ltd. 
("The Company") has received in cash or cleared funds payment in full of the 
price of the goods and all other goods agreed to be sold by the seller to the 
buyer for which payment is then due. Until such time as the property in the 
goods passes to the buyer, the buyer shall hold the goods as the seller's 
fiduciary agent and bailee and keep the goods separate from those of the buyer 
and third parties and properly stored protected and insured and identified as 
the seller's property but shall be entitled to resell or use the goods in the 
ordinary course of its business. Until such time as the property in the goods 
passes to the buyer the seller shall be entitled at any time


--- StripMime Report -- processed MIME parts --- multipart/related
  multipart/alternative
    text/plain (text body -- kept)
    text/html
  image/jpeg
  image/jpeg
  image/png
  image/png
  image/png
  image/png
---

[excessive quoting removed by server]

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to