Background:
I've been given a project to make an small employee portal for an organization. This is a Full Stack Web Development project, since the only thing provided to me are excel worksheets as the organization's data. It has to be run within the organization, with multiple users using it at the same time.
Project Deadline: 28th June ~ 10 days
Problem:
I've never made a web development project before. I have very basic knowledge of Dreamweaver Tool, html, JavaScript. My programming skills are fine in general, and I'm competent in C#, good at C++.
What should I do to complete this project? I am all for learning everything and understanding all the languages, but just searching through the process; Making a Front End, Server,.. and all these different frameworks - I'm panicking and don't know what is my next step to take.
I've mapped all the business flows and made a prototype. I just need to start the actual development, but I don't know which next step to take.
If you have a good knowledge of relational DBMS then you can use CakePHP to create your application quickly. It provides a feature called Cake Bake that can generate the source code for complete application using CLI.
You can refer:
https://cakephp.org/
https://book.cakephp.org/bake/1.x/en/index.html
This will really help you for the rapid application development. I hope this will help you.
Related
I'm about to embark on a prototype of a schedule viewer. It will need to support about 100 resources (rows) and show at least 12 weeks of jobs with a resolution of 1 hour. Should look something like this:
http://icahn.mssm.edu/static_files/MSSM/Images/Departments/Psychiatry/Programs%20and%20Services/Education/Psychiatry%20Residency/Schedule.png
Long term, it may support updating via drag and drop.
I use visual studio a lot and vb and c# (asp.net and recently lightswitch 2013). Don't have much graphics handling experience and little java, as I hate the debugging capabilities.
My gut feeling, given the trends in the market, is HTML 5, but not sure weather to use asp.net, java, etc. and whether to build from scratch in pure HTML or try and find some sort of Grid control as the basis
Would welcome any suggestions
Regards
Mark
Go with html5 and Asp.net MVC. Stay away from web forms
I've been doing server-side development for several years, and have not had much (read - practically no) web development experience. My current employer is flush with ca$h at the moment and is offering to pay for training, so I thought it would be a great opportunity to learn. I seem to learn best in a classroom setting with practice at home, so I was wondering if anyone had suggestions as to where would be a good place to learn this stuff. There are some national firms that offer all kinds of training courses (e.g., LearningTree), but I have no idea how good they are. Local college classes are an option too, as long as I don't have to go through a whole degree curriculum (I'm based in NYC/NJ).
Stuff I'd like to learn includes Servlets/JSPs (starting at a very basic level but quickly moving through advanced), Tomcat, MVC, and integration with frameworks such as Spring. I realize not all of that may come bundled together in one neat little package, but if got 70% of the way there that would be a win too.
Thanks in advance for any and all suggestions.
I have friends who teach for Learning Tree, and they generally seem to know their stuff, but they spend most of their time teaching and working on small projects instead of large/enterprise application development. Since they need at least one week a month of time to teach a course... they can't always get hands-on experience in the bigger projects.
That said, if my company were flush on cash:
I'd try a single course at the most-convenient location near me. Probably Learning Tree, as I respect the two instructors I know who work there.
But mainly, I'd simply ask for time off my primary projects to learn the technologies on my own. If you install Tomcat and get a Hello World servlet built, then try to build an online cookbook site using Spring MVC on Tomcat, you'll have a really good knowledge of things in 40-80 hours.
You'll also have built the skills to continue learning on your own without paying someone else $3k a week to walk you through tutorials you can already find online.
I've got to convert a not terribly complicated bespoke project management system from MsAccess Application to PHP/MySQL. I've been programming for donkey's years but embarrassingly know practically nothing about modern methodologies.
So the old 'learning curve' versus 'improved efficiency' conundrum rears its ugly head once again.
Although I've Googled up some stuff I don't want to prejudice your suggestions, where would you start, I'm at your mercy?
What sort of learning curve am I looking at?
Consider learning a PHP framework and its philosophy and architecture to produce the application. You'll be glad you did.
http://www.phpframeworks.com/
Basically, this will help you get up and running quickly with all of the necessary moving parts, in a way that promotes best practices. IMO it's probably the quickest and best way to accomplish your goals.
For recommendations on which one to choose, have a look here:
https://stackoverflow.com/questions/184395/what-is-the-best-free-php-framework-working-on-shared-hosting-and-why
Well, when you say you been writing code for years, do you have any choice as to the final platform?
Access 2010 can create web based applications that scale horizontally in a HUGE way. The resulting applications don't requite Silverlight or even any ActiveX, but ONLY a standard browser. Here is a video of a application I wrote in Access, and note at the half way point I switch to running in a browser.
http://www.youtube.com/watch?v=AU4mH0jPntI
Access 2010 also now does have database triggers and stored procedures. However, you are hinting that you don't have a choice of technologies here so the above new features and even the new Web site creating ability of Access is thus moot for you.
I guess the 1st area I would start with is installing and setting up MySql. The MySql site has some good links to tutorials etc. You simply have to get up to speed with that database server and get conformable with it regardless of learning PHP anyway, so that one step and area I would start out with. And, if you worked with databases, then you find MySql quite easy to get up to speed with so you feel like you making some progress as you embark on this new road
I am very curious about what you think is the best approach for people that want to start webdevelopment. I'm now talking about people that finished their education and so want to start from scratch.
I still have questions like:
Where do you start?
What software gets involved in webdevelopment?
What tools / setup would you recommend?
Offcourse i'm interested to hear alot more then only the answers to those three questions.
I am not writing this to get a load of people react on my post, i am trully interested in knowing how much work and money it will cost a webdeveloper when starting from scratch.
I hope to get a clear view on how to approach and to maybe hear some best practices.
Well one thing's for sure, education isn't finished! There's a whole lot to learn, and the more we learn the more we seem to need to learn.
If you're really starting from having no programming background whatsoever then I think you'd be advised to take a staged approach. For example:
1). A web page with a few different text formats and pictures and colours. Here you're just learning HTML. For that any browser and a notepad editor would do, but probably a tool such as Eclipse that gives some HTML editing capability would help.
2). More adaptive HTML - stylesheets that let you change appearance without changing all the html. So that's CSS.
3). Using the above, improve your designs. There are loads of formatting tricks good web sites use and you'll need to learn those.
Note that by now we've done a lot of study and we have not actually written any programs!
4). Dynamic web pages. Now we move to the programming side, rather than just writing some HTML files write a program that delivers the HTML and in some way changes the content. Starting with something really simple such as including "today's date is ..." on the page. For that You would need to pick a server development technology such as Ruby/Rails or PHP or Java/JSP ... You'll get a lot of different advise about "best" for this.
5). Now you can start to work on accepting input from the user and doing something with it so that useful work gets done. Things such as databases start to become important.
There's a whole load more after that, JavaScript and so on. An experienced programmer can pick up this kind of stuff quite quickly, if you've never done any programming at all then you will need to be prepared to take a while before you can get to the level you probably target. I think the key is to acknowledge that a great commercial web site reflects a lot of collective wisdom and skill picked up over many years, and probably is the result of a multi-disciplinary team working together. For one person to match that is a big ask. For one person to produce something nice and useful is more practical, but still does need a lot of different skills. It's quite reasonable to specilaise in a subset of the skills. For example, good visual designers write little or no code but are highly valuable.
you need:
a browser, eg. FireFox, Internet Explorer. A webdeveloper toolbar might also be useful.
a webserver, eg. Apache, Tomcat, IIS
a programming environment, eg. Php or ASP.NET
a development tool, eg. Notepad, Notepad++, Visual Studio .NET, Eclipse
most of the times a database, eg. SQL Server, mySQL
I'd say it depends what you want them to master: the technologies only (up to which skill level ?) or the whole software engineering behind a web project
A sample and fast technologies learning tree could be:
1) HTML
2) CSS
3) HTTP
4) Server side programming (PHP ?): programming concepts, interacting with HTML/CSS, then PHP API
5) Databases (start simply with MySQL for instance) + SQL (CRUD with Joins, Subselect, Indexes, Views and Transactions)
6) Client side programming (JavaScript first then Ajax)
7) A web framework (ZEND ? cake ?) and a good IDE (lots of...)
Full-time learning those technologies requires at least 1.5 year , based on the experience I have with my students and people must be trained mainly on concrete projects.
Then people should learn software engineering (cf link text) covering at least
- software requirements
- software design
- software construction
- software testing
I think people can have useful experience in this software engineering tree in 1 year and can (should) combine learning technologies with learning software engineering.
For training someone from scratch (technologies + software engineering) I'd say a least 2 years if working on at least three 6-month projects
This answer is Microsoft specific.
For starters you'll need an editor, a (optional) database and a few starting points.
Microsoft supplies most of these for free: you can download the Visual Studio Webdeveloper 2008 Express Edition for free, this includes most of the stuff you'll need.
If you plan on developing database driven websites, and who isn't, you might want to use the free SQL Server 2008 Express Edition
When you have the tools setup it's time to download some samples and see see how they work. Again Microsoft supplies some for free. You can check out tutorials and samples at their Asp.Net site.
When you are ready for some more advanced stuff, check out ASP.NET MVC, again at Microsoft.
With these tools and examples you should be able to get started.
I just want to add that you will most likely also need Photoshop or other tool to create the graphics for your web sites.
In spite of java/.net/php,the HTML,CSS,JavaScript are the basic web development toolkit.
Get a job as a junior developer that will put you on a project that is developing a web application. I personally think it should involve one of the two most established platforms, Java or .Net. I know some will disagree, but these are good foundations to branch into other tech platforms later.
Make sure you open an IDE (e.g. Visual Studio or Eclipse) everyday and code something. If not, find a new job immediately.
Read religiously at night. Start with "Code Complete", then move on to other books.
Learn the fundamental technologies of the World Wide Web:
HTTP
HTML
CSS
JavaScript
DNS, URL's
Good luck and happy travels!!
you need:
a google chrome . This provide you some advantage like inspect option. A webdeveloper toolbar might also be useful.
2. Html, Css, JavaScript are the basic language that you should be know
a programming environment, eg. Php or ASP.NET is needed for storing data and making login type page
a Visual Code Studio is needed for coding. This provide you emmet facilities that suggest you while you are coding
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.)