As a new developer, is GAIA Framework something that I want to look into. Is this going to stifle my learning and keep me dependent upon such.
What are the limitations of this framework. Is there another framework out there that you can suggest for rapid site development with deep-linking and the other bells and whistles?
Thanks!
As a new developer, there's a good chance that you'll write better code if forced to by a structured framework like Gaia. Building Flash websites can be a tricky ordeal unless you're well versed in Flash and Actionscript.
I'd say give it a try and see if you like it. Gaia should save you some time once you understand it. Whenever I try a new framework, I try to build a sample project or two just to get the hang of it before I actually use it on a real project.
If you're new to Flash, Gaia could also be a good tool to learn a decent workflow between your design and code and just in general when it comes to Flash.
If you dig into the code and try to figure out how things are done and why they're done that way, I don't really see Gaia impeding your learning.
It all depends on how you use Gaia. If you use Gaia to make a website then pick apart the created code and figure out how it did the things it did then it will help you learn immensely.
On the flip side if you just publish websites using it and don't bother to pick it apart to learn the internals then it will simply be a crutch allowing you to never learn how to do it yourself. An ability to create something that you could not have otherwise created, and if you cannot use it again in the future, you will not have any clue of how to do it.
Use it as a learning tool, not just a building tool.
EDIT: That was all general comment on building tools in general. Specifically relating to Gaia I'd like to add that personally I think most top end devs make their websites MUCH MUCH better than the Gaia framework does. As a matter of personal opinion I'd only recommend using it as a base learning tool, then building your own framework that you can constantly improve on as you get better.
I have used it in several projects. My experience is that some things are really easy to do with GAIA, and some things are hard because you need to stick to the structure.
It also depends on what type of project you are creating. I think it is worth a try, because you can learn a lot from the structure and methods that the GAIA team created.
Related
I'm looking for a robust and efficient method of creating any kind of imaginable control to use with a LabVIEW project. I'm curious what you've tried and what the pros and cons are. I myself have never used LabVIEW, but have been approached to write controls for it based on my knowledge of other things (C#, HTML5, Flash, Silverlight, etc).
It appears to me as though this kind of thing has been or can be done in .NET, Flash, WebGL, Qt, Silverlight, and maybe some others as well. Ideally, we don't want to have to write any code twice, so platform flexibility is a great thing, which makes me lean toward a web solution. But ease of implementation is important as well, and I would think a web solution would require some extensive web services parsing and programming every time a control is going to be used. But I could be wrong. An eye on the future is also important. If something would be a great solution today, but probably worthless in 2 years, no point in bringing it up.
(Please realize that I am NOT simply asking how to change the colors of (customize) a LabVIEW control, nor am I interested in xControls as the final solution as apparently they aren't robust enough.)
Thanks in advance!
I am aware that this probably doesn't answer your question, but if you have access to LabVIEW, you could analyse the "Military" Theme Custom Control Suite, and look at examples on the UI Interest Group and LabVIEW UI Tips and Tricks. That's probably the best you could do with LabVIEW.
.NET is probably your best bet, LabVIEW supports .net controls, so you can define the UI and reuse your .net code.
I have heard rumours that the new LabVIEW version (2013 due in September) will use .NET 4 libraries as the default instead of the current 2, so you might want to keep that in mind.
I wouldn't ditch XControls that easily if I was your company (I can understand it's not your cup of tea).
I'm a newbie to web development (although I have built basic sites long ago using HTML, CSS, hacked various CMS's etc) and was wondering what language and associated framework is best to go with for a data driven web service with a dynamic UI (i.e. AJAX-ey effects) which I hope will scale at some stage in the future. I am fairly proficient in iOS development so am comfortable with Object Orientated development and the Model View Controller paradigm. Any advice and/or thoughts would be greatly appreciated.
Don't learn a language by learning a framework. Do basic non-framework programming in your language of choice first. THEN jump into the framework. Otherwise you're laboring under the double burden of unfamiliar language AND unfamiliar environment.
Basically, learn to drive first, THEN pimp out your ride.
If you're familiar with the Cocoa libraries, you might consider using Sproutcore which has a design that is highly informed by Cocoa. It also has the added bonus of being rather forward looking (aka: the new hotness) and is at the point of becoming a serious tool (ie: Apple uses it for mobile.me ) but still new enough that it is under active development by excited, passionate and skilled developers.
Also, as an aside to everyone advocating learning the basics. For many of us, the best way to learn something well is to have a real project and learn by building. Sproutcore seems like a good option for someone familiar with iOS development.
The easiest framework in my opinion is CodeIgniter and the docs are fantastic but this is really a subjective question.
I agree with #Marc B, first master your language, then you could start using a framework.
as a language the two obvious choices are either asp.net, or php, both have their advantages and disadvantages... you have some reading to do, a simple google search will provide you with plenty of info. there is no one size fits all in this department. look at some code examples, see what you feel comfortable about.
I'm trying to get a few web development ideas off the ground. Unfortunately I will be the only developer, so I'm focusing on getting a good debuggable, testable setup going that I can develop applications rapidly with.
Which languages, development styles and frameworks would you recommend for rapid development? Last time I checked RoR was the next big thing but that was a while back.
Ruby on Rails is a good choice for rapid prototyping. It's simple, clean and easily learned. PHP also offers a fairly low learning curve and a wide variety of built-in functionality for accomplishing most tasks. Both languages have their shortcomings, but on small-team projects for low to moderate traffic sites, you aren't likely to bump up against them.
The one you know best.
For people who are comfortable with Python there's also Django.
I guess it is pretty much an equivalent to Ruby on Rails (although I never used Ruby on Rails). Django's concept is to have many autonomous applications which can be used together in order to build small to large scale websites. It has great documentation, although deployment can be quite a hassle. Unfortunately it's not supported by many hosters.
PHP with Zend Framework has comparetively lower development time.
If you are familiar with C# or VB.NET and HTML then ASP.NET is also a very good option.
Just to add another, GWT (Google Web Toolkit) is an awesome option. It allows you to write all of your code in one language (more or less, you'll still need a bit of css --for the record ASP.NET allows this as well) and you can create really rich applications with all kinds of awesome javascript and ajax stuff without needing to know javascript. Their tutorials are great and personally, I think you can get off the ground really, really quickly.
I guess it matters more as to what languages you're most familiar with.
Whatever that language is, look for a good MVC framework for it.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I'm biting the bullet and becoming a Web Designer, there are just too many good opportunities out there. I'm a professional SW engineer, so I want approach this correctly. So far I'm fairly good at HTML/CSS/Javascript all completely by hand. I'm also good with jQuery and Django with mySql. I've made some cool sites but it takes TOO LONG if I want to do this for many sites.
Here is my question: Do I learn a CMS really well and use it (and be stuck with it) or do I spend that time developing some reusable HTML/CSS templates and do everything by hand?
So far my CMS experience is that there is overhead setting it up, and it you want a lot of customization you're doing CSS anyway.
If I go the CMS route -- which one?
What is the "best method" for Web Dev? I intend on creating a very diverse array of sites as well...
Thanks!!!
The future of web publishing is clearly in Content Management Systems for everything larger than a small personal site. People are not buying sites anymore for which they have to pay a professional every time a paragraph needs changing.
Make sure you know your HTML, CSS, and Javascript, but get familiar with one or more CMS's on the market, preferably one of the big ones that get you a big community, and the advantage of a widely known standard that it is easy to find people for. Learn how to customize it, how to build templates for it quickly and effectively.
One of the biggest flagships in enterprise-level CMS'es is certainly Drupal. From personal experience, I also know Joomla, but I'm not sure whether I'd recommend it to get started with - it tends to be a bit dirty on the code side sometimes. WordPress is successfully used as a CMS by many.
Look around on SO what systems people are happy with; if you want to get to know the concept of a certain CMS check out openSourceCMS who provide live demos of many CMS'es. There are also very robust commercial products out there that are better maintained than the open source projects.
There isn't a single correct answer for this IMHO. Basically, it comes down to:
Use the best tool for the job.
The best thing you can do for yourself is learn about what tools are available, and what they are capable of. Try to match each one to a scenario you think might be particularly suitable for a given solution.
You will find that if you invest a lot of time in learning something like Python / Django you will be able to create just about any site you can imagine, but then you might find that if all your client requires is a simple, mostly static company info site that something like Drupal might be more appropriate.
The baseline technologies like (X)HTML, JavaScript, CSS and SQL are used across all of them, so knowing these tools well in a generic context is also extremely valuable.
A truly well-equipped toolbelt is invaluable.
If you need a little number of pages, without any dynamics, render your site with your favorite language and numerous templates to html files and don't deal with anything but www-server.
Once you need a rather big site - use a tool which you already know well. (I using django and happy with it).
When a site is really huge - make your own CMS. But at first have a practice with tool like django. Until you know how it works - try not to deal with big projects at all.
I can advice to use statically typed language for anything, but i'm sure that you know benefits and caveats.
Python and Django is suitable almost for anything.
I am a Web Designer and recently I began using Wordpress. I've found it great so far, once I have my site ready in xHTML and CSS it only takes me a couple of hours to make the content editable.
I have also created about 3-5 themes my self, I've found creating Child Themes and using Themes like Twenty Ten as a parent, so I can use their functions etc.
I would highly suggest that you look into wordpress, especially if you want to speed up the process for creating websites.
Those two choices aren't mutually exclusive.
You should build reusable code regardless of which option you choose. With a CMS, there will already have some design decisions made for you of course, but I find myself building APIs and interfaces using Drupal all the time. In fact it's a measurement of quality.
There are also some frameworks that you might like too that will let you custom build and increase productivity. See The Zend PHP framework, Ruby on Rails, Kohana, Nanoc and the 960 CSS/HTML grid. You could say they are the best of both worlds!
If you are going to implement web sites for the general public, I'll go with Joomla. I managed to implement 9 websites in one year with this CMS. In my opinion, it is important to know PHP, HTML, CSS and Javascript pretty well before using Joomla (which you seem to know), or any other open source CMS for that matter. This way, you will be able to customize all aspects of the website (both frontend and backend) with ease. For example, when I don't find a plugin which does what I need, I just create the plugin myself.
However, if your aim is more on Web Applications rather than web sites, I'd go with ASP.NET and ExtJS, which seems to be today's trend for web applications since you will be combining the power of ASP.NET with the power of AJAX (ExtJs).
IMO, Python is more targeted for very large and complex projects (look at Google or Amazon).
I want to Switch from Web Designer to Front End Developer or web developer PHP, which skill should I get , Is it Easy to switch from Designer to Developer. I have two years Exp. in Web Designing. Please suggest.
Or should i stick to the Designing what is the Next BIG thing for Designer after DIV layout.
My Current Roles
Conversion PSD to HTML,
fixing Bugs in Different Browsers ,
Strong knowledge of HTML and CSS. I want to Go with the Open source Programming like PHP and MySQL
On the design side you could learn Flash or Silverlight. UX and UI design are hot right now.
On the programming side, are you good at client side programming? JavaScript AJAX etc.
#wazdesign, I didn't come from a design background like you, but I found my niche in Front-End Web Development none-the-less.
I started with Standards-based HTML and CSS and then started working back in the day on the Views and Helper functions in MVC frameworks (with a good team doing the controllers, models etc.)
Ask a competent Web Developer to give you a basic web-server architecture and process demo. Understand how data from the DB gets onto your user's pages, and all the checkpoints the data goes thru on the way.
Once you understand the principles, you can pretty much work with any technology after tooling up with the syntax.
I've listed some terms to research below that are tech-agnostic. I can't help you with the PHP side of things :)
Some books worth reading:
The Design of Everyday things - Don Norman
Don't make me think - Steve Krug
Anything by Luke Wroblewski such as Web Form Design
High Performance Websites (O'Reilly)
Some terms to research:
Interaction Design
MVC Frameworks
Templating systems
HTTP
User Interface
Some tools to use:
Firebug
YSlow for Firebug
I think you're making a good move here. To me you're showing initiative that you want to grow and learn new things. My advice would be that you learn how to program first. The problem with a programming language like PHP is mostly that it is really accessible, meaning that it's is easy to pick-up, copy and paste some code etc. PHP is notorious for it's cut & past scripting mentality but in the hands of a good programmer it is just as good a programming language as any other programming language out there.
So, to avoid becoming a cut & paste PHP programmer learn how to program first. Learn about variables, functions, control statements, algorithms, Object Oriented programming, the technology of the web etc. I would recommend that you pick a book and start learning the basics first before diving in the deep end. This way you will lay a good foundation for yourself and you can avoid becoming a cut & paste programmer.
Good luck!
I moved from "Web Designer" to "User Experience / User Interface Designer" to "Application Architect". Each role built on the next fairly well and no direct programming knowledge was necessarily required, though I think my lack of programming skills as an Architect is not the norm.
I realize you asked about moving into a Developer role, but I thought I'd offer this as an alternative. The market for User Experience people seems to be strong right now, and it's likely that you already have many of the skills required - developing wireframes, designing application workflow, information architecture, etc.
Designer to developer
I've thought a lot about this and wrote an article about the designers mutating into developers for PerlBuzz that covers a lot of the necessary ground (albeit from a Perl the point of view).
The main issues are:
understand why separating: programming code, visual markup, and data is a good thing
learn a bit about MVC, frameworks and HTML templates
learn enough Unix (at least permissions and paths) to get by and understand the command line
try (say) a simple Ruby framework like Sinatra or Ramaze. Camping is great for learning MVC (everything in one small file) but lacks a definitive version at the moment
alternatively, spend a day getting the Python framework Django up and running - it's pretty hot at the moment, Python is a good first language, spares you the SQL, is under very active development, and the extensive documentation is all online
play with JQuery or another Javascript library for client-side goodness
PHP is fine when written well and good for learning how to construct HTML templates, and Symfony seems like a sound framework, but avoid starting off by hacking (say) WordPress or Joomla. You'll only learn... well, how to hack WordPress or Joomla, whereas the real leap is in learning to program.
Some basic requirement:
Need to have strong aptitude
Understand the basics of programming in any language. (C/C++ will be good option to start)
For web development, you should be good in html and javascript along with the backend (PHP, ASP.NET etc.)