Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Goodbye for now Appserver...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Goodbye for now Appserver...

    Hi,
    I'm impressed by the great possibilities A5AppServer offers. I bought it because I saw advantages over PHP/MySql applications. Mainly because it is presented as a developing program for those who do not want to go to deep into code and need an easy way to produce wonderfull webapplications, in the same way the A5Desktop works.

    I played around with it for a while, was impressed and got myself some nice applications, but there always is one issue: speed. I have browsed this forum and many times found the advice to use Xbasic and not to use too complex grids, not too many dropdowns etcetera.

    But: I need these grids and dropdowns and for now I just don't have the time to get into Xbasic and start writing my applications from scratch.

    I have relatively small databases, with usually not more then 1000-1500 records and grids with max 10-20 fields and 2 or 3 dropdowns. I have a VPS with 1G garanteed RAM.

    I used to make my applications in PHP with a MySql database. Also in PHP I'm not an expert (ok, maybe I'm just a nitwit), but there are several good generating programs like PHPMaker that create the basic scripts, which are relatively easy to adapt.

    Using these programs the difference in time to develop an application compared to A5AppServer is little, A5AppServer wins but not by far. And with A5AppServer it is a bit easier to get to a nice layout.

    But: once published the speed of my PHP-application is about 8 times as fast as the A5-application, using the same database and the same dropdowns and look-up tables! That's a difference of 1 or 8 seconds to open a new page! Also I need to hire a seperate windows-VPS to use the AppServer.

    So for now I'm affraid I am going to have to say goodbye to the AppServer and go back to PHP, maybe untill I have more time to get into Xbasic or untill the AppServer is giving more speed using the common webcomponents. Unless anyone tells me that I am crazy and doing something terribly wrong because it can't be that the AppServer is beaten by PHP.... and suggests what I am doing wrong....

    Henk

    #2
    Re: Goodbye for now Appserver...

    two comments

    1. it depends a lot on how you design your apps

    2. you will see dramatic speed increases in the coming months in Alpha Five

    please email me at [email protected] for more info
    thanks
    Richard Rabins
    Co Chairman
    Alpha Software

    Comment


      #3
      Re: Goodbye for now Appserver...

      An example of a Web app that runs rapidly that was built in Alpha Five v9


      This Web App was built for a Fortune 20 Company
      in Alpha Five v9 for deployment in 5000 locations.

      Please click here http://www.alphasoftware.com/alphafi...080917echurch/ for a short recorded demo.
      Richard Rabins
      Co Chairman
      Alpha Software

      Comment


        #4
        Re: Goodbye for now Appserver...

        Most applications are not as simple as the one you describe (1000-1500 records and grids with max 10-20 fields and 2 or 3 dropdowns.) which sounds like one or two tables. I think if you had even experience in both PHP and Alpha that an easy app would be easy in both environments. But the same experience level for a moderately or highly complex web app (which they become quite fast), that you would be a better developer faster in Alpha. I could not live without Alpha's built-in security model, not sure how you implement that in PHP. Not speaking of just simple login, that's easy everywhere, but beyond that to filtering user records, coordinating menu selections based on security, individual field access based on security, as well as several modes to the functionality for grids (insert, delete, update, etc).

        I also like that Alpha Five is a one-stop-shop for my apps, I don't have to reach out to this or that resource to tack on. But I can still incorporate other API's if I need to.

        I've converted dozens of PHP scripts to xbasic. There are lots of PHP scripts out there that come in handy. I'm not a PHP expert, I'm know the language is very powerful, but the obscure syntax always baffles me, its like working with Clipper.

        Here's an example. I took this PHP code and rewrote it in xbasic for a photo upload process. First the PHP, then the xbasic. The two scripts don't do exactly the same thing, but its the syntax I am exposing for review here.

        PHP
        Code:
        $galleryPath = "../Gallery/";
        
        $absGalleryPath = realpath($galleryPath) . "/";
        $absThumbnailsPath = realpath($galleryPath . "Thumbnails/") . "/";
        
        function saveUploadedFiles()
        {
        	global $absGalleryPath, $absThumbnailsPath;
        	
        	$packageIndex = $_POST ["PackageIndex"];
        
        	if ($packageIndex == 0)
        	{
        		$handle = opendir($absGalleryPath);
        	
        		while (false !== ($file = readdir($handle)))
        		{
        			if (is_file($absGalleryPath . $file))
        			{
        				unlink($absGalleryPath . $file);
        			}
        		}
        		closedir($handle); 
        	
        		$handle = opendir($absThumbnailsPath);	
        		while (false !== ($file = readdir($handle))) 
        		{
        			if (is_file($absThumbnailsPath . $file))
        			{
        				unlink($absThumbnailsPath . $file);
        			}
        		}
        		closedir($handle);
        	}
        
        	$descriptions = new DOMDocument('1.0');
        
        	if ($packageIndex == 0)
        	{
        		$descriptions->appendChild($descriptions->createElement("files"));
        	}
        	else
        	{
        		$descriptions->load($absGalleryPath . "Descriptions.xml");
        	}
            
        	if (!$_FILES["SourceFile_1"]['size'])
        	{
        		return;	
        	}
        	$fileName = getSafeFileName($_FILES["SourceFile_1"]['name']);
        	move_uploaded_file($_FILES["SourceFile_1"]['tmp_name'], $absGalleryPath . "/" . $fileName);
            
        	if (!$_FILES["Thumbnail1_1"]['size'])
        	{
        		return;	
        	}
        	move_uploaded_file($_FILES["Thumbnail1_1"]['tmp_name'], $absGalleryPath . "/Thumbnails/" . $fileName . ".jpg");
        
        	$xmlFile = $descriptions->createElement("file");
        	$xmlFile->setAttribute("name", $fileName);
        	$xmlFile->setAttribute("width", $_POST ['Width_1']);
        	$xmlFile->setAttribute("height", $_POST ['Height_1']);
        	$xmlFile->setAttribute("description", $_POST ['Description_1']);
        	$descriptions->documentElement->appendChild($xmlFile);	
        
        	$descriptions->save($absGalleryPath . "Descriptions.xml");
        }
        
        function getSafeFileName($fileName)
        {
        	global $absGalleryPath;
        	
        	$newFileName = $fileName;
        	$j = 1;
        	while (file_exists($absGalleryPath . "/" . $newFileName))
        	{
        		$newFileName = $j . "_" . $fileName;
        		$j = $j + 1;
        	}
        	return $newFileName;	
        }
        saveUploadedFiles();
        Code:
        strImagePath  = "[PathAlias.photos]\\" + session.__protected__album
        strThumbsPath = "[PathAlias.project]\\" + "thumbs\\" + session.__protected__album
        
        if file.exists(strImagePath) = .f.
        	file.dir_create_recurse(strImagePath)
        end if
        if file.exists(strThumbsPath) = .f.
        	file.dir_create_recurse(strThumbsPath)
        end if
        
        dim tbl as p
        tbl=table.open("[PathAlias.ADB_Path]\photoimage")
        	tbl.enter_begin()
        		tbl.User_id 	= session.__protected__ulink
        		tbl.Albumid 	= session.__protected__album
        		tbl.Filename 	= SourceFile_1.filename
        	tbl.enter_end()
        tbl.close()	
        
        '"-BLOBS-----------------------------------"
        file.from_blob(strImagePath+"\\"+ SourceFile_1.filename,SourceFile_1.data)
        file.from_blob(strThumbsPath+"\\t1_"+FILE.FILENAME_PARSE(SourceFile_1.filename,"n")+".jpg",Thumbnail1_1.data)
        file.from_blob(strThumbsPath+"\\t2_"+FILE.FILENAME_PARSE(SourceFile_1.filename,"n")+".jpg",Thumbnail2_1.data)
        Steve Wood
        See my profile on IADN

        Comment


          #5
          Re: Goodbye for now Appserver...

          @steve :

          I don't see what the speed of developing the application or the simpler syntax of alpha 5 has to do with the speed of execution of the end user application.

          Once you are finished developing your app x times faster than using php, the end user has to live with th end product which is running x times slower ??

          Regards,

          Val

          Comment


            #6
            Re: Goodbye for now Appserver...

            Well you have to compare apples to apples. What database do you have feeding your application, MySQL perhaps. So you'd have to test your Alpha grid with the same database. MySQL will be much faster than Alpha's "default" dbf tables. The PHP app will still be faster, but maybe its 2x not 8x now, I don't know. If your dropdown boxes have lots of selections, that is going to be greatly affected by the database since each selection has to be created in the HTML before the page is displayed. MySQL could rip out 100 selections in the same time the dbf table gets through 10. Alpha Five can use any SQL backend instead of the dbf tables.

            And you also have to test the complete app to get an "X faster/slower comparison", not just one grid. Grids have a pretty large overhead since they deliver tons of options that perhaps are not required in every case. The majority of time the Grid takes on the page is reworking the HTML to form the grid itself and all of those options. The Alpha server has to work a bit harder to determine what to display,then display it, every time the screen is refreshed. Static pages probably exhibit the same speed in both applications.

            The enhancement Richard is referring to will virtually eliminate the drag Grids have on performance.

            You are more familiar with PHP and MySQL, I (we) are more familiar with Alpha Five, xbasic and dbf tables. So each of us would build better applications in the environment we are most familiar with.
            Steve Wood
            See my profile on IADN

            Comment


              #7
              Re: Goodbye for now Appserver...

              Just some more thoughts on this:

              The speed of the grids is the one area that I think speed CAN be an issue - but hand coding a simple grid is really so easy that when needed, it is not hard to do. Also, this is one of the areas that I suspect will be vastly improved with version 10, which apparently will have AJAX powered grids!!

              Also, what about the support - from this message board and from alpha itself.

              Last night, I submitted a bug report about email_send() not working - at 10:48 pm. Within 6 minutes, Selwyn Rabins, present/ceo of Alpha Software, emailed me back with code that solves my problem. Six minutes! From the owner/president of the company! Wow!

              Gary
              Last edited by drgarytraub; 02-24-2009, 09:02 AM.
              Gary S. Traub, Ph.D.

              Comment


                #8
                Re: Goodbye for now Appserver...

                See:

                http://blog.alphasoftware.com/search...20Version%2010

                "
                With Version 10, we'll be introducing codeless Ajax. Alpha Five developers will be able to build for the Web and deploy on the Web, giving their users rich Internet database applications that are as interactive and as responsive as any desktop database application.

                Because it's codeless, developers will never have to write a single line of code to enable this rich Internet functionality.
                "

                V10 promises to give you just what you need performance wise, without having to digg into programming. Unless you are willing to torture yourself with php..Or any other 3rd g web dev programming language.
                Last edited by rleunis; 02-24-2009, 05:13 PM.

                Comment


                  #9
                  Re: Goodbye for now Appserver...

                  To be honest I'm not much of a developer... Just had to get into it because the non-profit organizations I work for can't afford a professional developer.
                  Thanks to programs like PHPMaker and Alpha5 I am able to make nice and usefull applications anyway.
                  It's true that one can build the best apllications in the environment that one is experienced in. Maybe I expected a bit too much from A5AppServer, after making my first application in A5Desktop in just a few hours and found it to be looking and working great.

                  For now A5AppServer is a bit too heavy for me, things I can do in PHP I can't in A5 without learning Xbasic.
                  I do hope v10 will bring what's been mentioned here, I'll sure give it a chance...
                  Henk

                  Comment


                    #10
                    Re: Goodbye for now Appserver...

                    I do not want to be a programmer (anymore) either...
                    Believe me, I have reviewed wavemaker, morfik, smartclient, backbase, tibco, windev, webdev and the likes. They al promise to be web frameworks and easy to use, but they really lack the maturity Alpha has displayed to me in terms of ease to use, ease to develop, ease of mature sgl database connectivity, and full control of the end product...

                    You're right, without programming or knowledge how to deal with implementing AJAX, it is difficult to compete with lower level language like php in terms of performance. Even if development time with Alpha is much faster compared to others, you still have to deal with the performance of the end product. I have never wanted to digg into XBASIC, because if i would like that, I would digg into a more accepted general language like java to name one..

                    Alpha has much more potential for the business user developer than anything else out there. The only thing is performance. Now you are comparing php development against easy development of grids with point and select Alpha dev options.... You should at least compare php against xbasic scripts to be fare. I understand if you do not want to digg into xbasic. But then do not compare it to straight php development..

                    The std SQL DB access possibilites, together with the security framework and the inbuild reportwriter out of the box is well up to against any of the competiton. Even if you still want to create old fashioned desktop apps. This aside the passionate Alpha user community, which I have yet to come across any other platform and is mostly much bigger currently than any competition.

                    Now I am willing to wait to see how V10 will live up to my hefty expectations:

                    Desktop like performance combined with the unrivalled development and DB connectivity possibilities of Alpha now.

                    I am waiting for this release a long time already. I advice you to give it a chance.
                    Last edited by rleunis; 02-24-2009, 05:53 PM.

                    Comment


                      #11
                      Re: Goodbye for now Appserver...

                      FYI web apps - I host a free web seminar every Friday Noon Pacific time where we cover web aspects. I've done this for the last 18 months, each session is different based on who shows up. Netherlands time is about 6PM Friday night. I use GoToMeeting, so you can use VOIP to connect to keep the tele cost down. See my website if interested.
                      Steve Wood
                      See my profile on IADN

                      Comment


                        #12
                        Re: Goodbye for now Appserver...

                        Is alpha 10 releasing this week?
                        I need it now.

                        Comment


                          #13
                          Re: Goodbye for now Appserver...

                          Thats the attitude Mike, I need it now too!
                          'Just joking, it would be nice dough
                          Cheers
                          Mauricio

                          Comment

                          Working...
                          X