I am building a Flash, jQuery, and PHP based project which I would like to subversion from the get go. I have experience using Dreamweaver CS5's sub versioning capabilities. So, as far as the PHP and jQuery (the non-flash portion) goes, I'm pretty comfortable.
However, I would like some recommendations on how to subversion the Flash portion. I know Flash Builder has SVN capabilities, however, the flash portion isn't going to function as and RIA, but more, if you will, like a game. As far as my experience with Flash goes, this type of project will work best if done in Flash Professional. Here are the options, as I see them:
find an extension for Flash Professional which will enable SVN. Is there one???
create a "Flash Professional Project" in Flash Builder, built it in Flash Professional, and subversion with Flash Builder.
place my project within a defined site in Dreamweaver, and subversion from Dreamweaver.
I would like to avoid something like Tortoise SVN, as I have had more difficulty with that than I am up for for now. :)
Does anyone have any suggestions, or pointers as to how I can handle this?
Thank you for your time.
Well, any SVN client can handle any kind of file - you don't have to have an extension built into each piece of software you're using. The best way to do this is to put all of your project files into a folder somewhere and then using whatever SVN client you want just add that whole folder to your repo. Does that make sense? The front-end that you're using is more or less irrelevant.
I don't really understand what you are saying about TortoiseSVN, but since you are using different IDE's I would recommend you to use TortoiseSVN as the uniform interface to SVN. And IMO, TortoiseSVN is simple and powerful.
Man up and use the command line ;). Why SVN? Yes, I personally prefer it but there are other great alternatives, have a think about GIT, Mercurial and others too. Mercurial/Git have massive benefits for single developer projects. The flash file will be versioned just like everything else in there. Remember to set your ignore files appropriately to cut out all the os specific poop.
Soon as you get yourself a good versioning repository set up, it doesn't really matter what client you use. I like the one bundled with netbeans / versions or the cli.
Related
I have developed an application and now I would like to hire some programmers to work on several pieces of it to upgrade and tweak it.
I have read other questions/answers here but they are mainly about obfuscating the code which is something I do not want to do (as I need them to read it and tweak it).
What I'm basically asking is, what is the best way to structure my code so I will have to expose only what I have to?
A good example for me is a webapp called RightNow which I'm developing for at work, what they do is they let you play around with all the widgets (you can create/edit/remove any widget) but the core of the application is in folders I do not have permissions to.
After you do your coding on the widgets, you then 'deploy' the application and it goes live. I have no idea what the deployment actually does behind the scenes, but this is one practice (not sure if it's the best) which allows the application owner to have control over the core of the code but still allow development for it.
Is there a better way? what do you think?
First you can use a version control software like SVN for example.
and then you can have copies of the code, one for testing and one for the your programmer. When the programmer is done changes and tweaks, the testing code gets updated first and when the test are done the live application gets updated.
you can obfuscate your core classes(ones that you don't want to expose). and other developers can include and use them at the same project as long as you provide a nice api to your classes.
I work on eclipse IDE mainly for php and java. I own a PC and a laptop both of which I need to use for coding. Now how do i sync code ad resources between two instances of eclipse between these two I think SVN and git are overkill for this. I own a portable USB drive. Is there some nice way to sync these two seamlessly?
Btw I dont need a dynamic sync. I wont be working on both simultaneously. Ill probably work on my comp. Them sync it with laptop and continue working there when im out and then sync with pc when im back..
Actually, source control might be a pretty good solution here.
In particular, using a distributed source control like git or Mercurial could be a pretty good route, because they both don't require setting up a Subversion server (one can create a repo right from Eclipse! -- see below regarding plugins), and merging between repositories are very easy.
To make matters easier, that there are plugins available for Eclipse which integrates with git (e.g. EGit) and Mercurial (e.g. MercurialEclipse). Both are easily installable using the Eclipse Marketplace feature in Eclipse Helios (3.6).
If you're not using source control, might as well make this an opportunity to start using one! :)
If you really don't want to use source control (which is useful, I use mercurial), try DropBox, or Windows Live Mesh. Both can sync over LAN without an internet connection, AFAIK. (Definitely DropBox, anyway)
Both are free.
(P.S. if you're interested in checking out DropBox, use this link, and we'll both get extra free storage space https://www.dropbox.com/referrals/NTkxNzM4MjU5?src=global0)
I dont think that using SVN in your case is an overkill. You can setup either laptop or desktop as SVN server and both instances of eclipse as SVN clients. Besides sync you will get added benefits of having change log, ability to roll back and all other bells and whistles of a source code repository.
I am a cakephp newbie and I would like to know what method you guys use to build your cakephp project. The tutorial I read is using cakephp console to bake application but the book I have use IDE to build the application. It seems console is more convenience because it can generate different projects name...Using IDE would require the developer to manually create all the folders...Thanks for the reply...
What I think you're not hearing enough of, in the answers so far, is that they're really two different tools with two different purposes. Cake's bake command line utility won't really create your application. It will create scaffolding for the parts of an application that you define. This is a great starting point, but that's all it is.
You'll use your IDE to flesh out the bits that make your application, well, an application.
Both tools are very, very useful so it's not really an either/or kind of answer. Although I like using the bake tool to get started, there really aren't that many folders you have to create if you chose the IDE path. Once you drop in the Cake code base, most of that stuff--even the app-centric bits--are waiting for you to fill them out.
I rarely use bake to create views and once I've baked a model or two, I'll often built others from scratch in my text editor. There's no "right" way; just understand what each gives you and use whichever best suits your workflow at a given point in time.
I use both methods, depending on the state of development of the project and/or database.
Often I will copy a controller, model and views and just search & replace the appropriate names.
If I have a lot of database defined, I'll use bake.
As for IDEs, after much pain, frustration and testing I have settled on NetBeans. I did use Komodo for a while when I was forced to work on Windows (Java ate my windows) but now I'm on Ubuntu & Macs Netbeans is powerful, quick and flexible. I still wouldn't touch Eclipse with someone else's, though.
You might be looking for something like ModelBaker. I haven't personally used it, but from what I can see it's a slick GUI on top of CakePHP.
FWIW, I've been using JetBrain's PHPStorm and loving it.
So, every so often you get sites like http://www.twitmaps.com - sites created quickly and pushed online for a random purpose.
Often either you have plenty of spare time, or you just don't have the opportunity to get your own ideas online. For example in this one, the snow images are very vague and could do with more accuracy.
What tools / languages do people use to make a site as quickly and efficiently as possible? Not one with a shop or anything like that - just 1-5 simple php pages, some API linkins to other sites, and a mysql backend. Wordpress is great for blogs, but what about general purpose websites?
I've written sites in ASP, php and am happy playing around with databases and the like - I just want a way to quickly shove something online :)
You have a few choices.
Established blog/CMS software like Wordpress/Joomla/Drupal. You can do almost everything with plugins.
If you need something more flexible use one of frameworks like ROR, Django, CodeIgniter, Zend etc
Use code generator tool like PHPRunner.
Really depends on what you familiar with.
You will find frameworks like drupal and Joomla of great service for this.
http://cakephp.org/
Best web framework I have ever used
CakePHP is good for a PHP-based framework. Since you have PHP experience, this is probably a good place to start. It's designed for rapid website development using a database for storing information.
If you're willing to experiment with new things, give Ruby on Rails a go. CakePHP was initially modelled after Rails, and it's even easier to use when creating simple websites.
For smaller sites that don't really require a database, I would wholeheartedly recommend Sinatra. It is Ruby-based, just like Rails. With Passenger (also known as mod_rails), deploying Rails or Sinatra websites become as easy as uploading files with FTP.
Since you are asking for the quickest way, I'll have to say absolutely, definitely Wordpress or Dokuwiki. They both come with a very quick installer. Wordpress is richer in Plugins, has more good looking templates and requires even less time to get familiar with than Dokuwiki. Dokuwiki doesn't need a database, Wordpress does.
Whenever I need to set up something really quick, without touching a line of code, I go for one of these.
There are so many options when it comes to PHP development environments and you have to piece it all together yourself.
I'm wondering if someone has come up with what they think is the ideal setup that gets out of your way and lets you develop.
Right now I use vim and svn from the command-line. I write scripts to manage builds but I'm thinking about looking into Phing.
I love vim but I'm seriously thinking of trying Eclipse with the PHP plugin because I imagine it makes common SVN options a bit easier (moving files around in a project).
Something to support continuous integration on the database would be a major plus!
UPDATE: Just wanted to stress that previous line up there. I realize some frameworks will help with this, but I don't use a framework. Is there some simple module out there (included in the IDE or not) that will let me easily tie my database schemas/data to a subversion revision, letting me rollback and forward, tag, branch, etc?
Any comments on things beyond the editor? For example: Builds, managing staging/production/development environments, automated testing and building upon SVN commit, etc. Ideally we can make this post a "Go to Whoah" for setting up a professional PHP team development environment.
I recommend to use a complete featured IDE like the PDT (the eclipse PHP project), it gives you:
debugging (using Xdebug or ZendDebugger)
SVN/CVS very convinient integration
DB integration (the DTP plugin)
and much more, based on features of the PDT and eclipse plugins
if you have some money to spent, I think the Zend Studio For eclipse worth it.
It gives you better debugging, PHPUnit integration, ZendFramewrok support, Refactoring and remote system support (ftp, ssh etc.)
I'm giving Netbeans 6.5 PHP bundle a try and liking it very much. I find debugging in it is less clunky than in Eclipse PDT.
I too love vim and used to develop using the same environment as you. These days though I find Eclipse PDT, with Subclipse for SVN integration, to be invaluable. XDebug is great too - no more var_dump();exit; for debugging.
One of the best plugins for a vim fan moving to Eclipse: viPlugin. Well worth the token licence fee to have vi key bindings in Eclipse.
If you are working from the command line, using Git's SVN module eases most of the SVN pain - it handles deletes and moves automagically.
The GUI front ends (kgit or qgit) provide a very intuitive history browser.
I personally like the way that AptanaStudio has pre-packaged all the great Eclipse modules you need to have a very smooth PHP development environment