COMMENT navbar-fixed-top
You are here: Reasons Why

Reasons why to use WDK

Successful projects do at least one thing right: they manage expectations properly. As you can see below, there are many good reasons to use WDK for your next web application project. But if not, you better know it in advance!

Yes, you can...

  1. Create a boilerplate source code package to start your own project within minutes by using the scaffolder
  2. Use WDK for free and without any restrictions - no matter what - WDK is free and will be free - forever!
  3. Significantly reduce development efforts and costs while increasing quality standards
  4. Benefit from an integrated architecture, planning, implementation, and testing concept
  5. Add new entities (like customers, contracts, invoices) to your application system in minutes using the scaffolder and create the necessary database wrapper, webservice, and gui code
  6. Design, define, extend data entities at one central place - and create and update related guis, database create statements, database wrappers, and webservices automatically
  7. Use html5 with WDK seamlessly
  8. Maintain multiple navigation trees (e.g. for header, sidebar, and footer menus)
  9. Combine different navigation trees into one
  10. Selectively show and hide navigation tree nodes based on user rights and coded conditions
  11. Create internationalized applications as screen text and static contents files are strictly separated from logic and layout files
  12. Cooperate in large teams as source code can be organized in so called source code file assemblies
  13. Develop layout and logic independently
  14. Restrict access to specific content or functionality based on user specific entitlements or programmed conditions
  15. Calculate the time of the next event based on a given time and a unix crontab rule set
  16. Read both Microsoft Excel and classical CSV formatted files into associative arrays
  17. Render date and time based on a user's locale preferences
  18. Render floating numbers based on user's locale preferences
  19. Render typical gui elements like lists, links, navigation trees, forms, tables, tab navigations, teasers, tag clouds, toolbars, icons, message boxes, and many others using coding patterns that separate logic and layout completely
  20. Use wiki syntax anywhere and convert it into html seemlessly
  21. Convert bbcode formatted text into html
  22. Send emails as text or html with attachments without diving into the deeps of the mail protocol
  23. Send encrypted mails
  24. Encrypt and Decrypt complex data structures with taking proper care of password hashes and init vectors (and if this doesn't ring a bell, you better use it!)
  25. Manage user accounts using a build in admin interface
  26. Create installation scripts to initialize your application
  27. Benefit from a build in user session mechanism that keeps track on session expiry, payload, and user login status
  28. Protocol users' activities and other events by the audit-safe logging functionality
  29. Store, manage, and query users' access rights
  30. Write test scripts using a testing framework that supports initialization and cleanup of temporary data
  31. Manage and overview tests using a quality dashboard that shows which tests are currently failing
  32. Schedule repetitive jobs using the build-in scheduling system - a web-based crontab manager
  33. Edit, approve, publish, and remove dynamic text content that can be written in plain text, bbcode, wiki syntax, or html
  34. Create install scripts for applications that setup database tables and verify that the hosting environment fullfills all requirements to run the application
  35. Sort and filter data tables stored in associative arrays easily by combining multiple filter and sorting criteria
  36. Simplify translation processes by storing all text in separate content files and text item files that can be imported to (and exported from) any given translation tool in the market
  37. Create modules that contain gui interaction and business logic that can easly be re-used
  38. Securely access GET and POST parameters and protect the application from malicious code injection attempts
  39. Protect your applications against CSRF attacks
  40. Display and control password policies
  41. Profit from consistent UTF-8 support at all places
  42. Debug code with the help of a trace log feature that aggregates tracing information not only from the actual website but also from all subsequently invoked webservices
  43. Profile code using the stopwatch functionality
  44. Check if a string is a valid url (sounds trivial but most code snippets you'll find on the web fail at some point)
  45. Protect webservices against malicious content parameters by applying strict input control
  46. Generate xml documents with data taken from associative arrays
  47. Read xml data into an associative array
  48. Create zip files
  49. Make unique temporary file names and files
  50. Enumerate files and folders into an array recursively
  51. Create and pre-fill web forms and embedd error messages without writing a single line in html
  52. Control the use of https and http centrally
  53. Just use the build-in mechanisms for user self-sign-in, email validation, and registration follow-up
  54. Dynamically control a user name policy
  55. Get and set values associated to the user session anywhere in the code without taking care if these values are then transmitted via url links, as a session payload, or cookie stored data
  56. Generate URLs for links that point back to the application
  57. Be sure not to be vulnerable against Cross-Site-Scripting and SQL-Injection attacks when using parameter processors and database wrappers
  58. Create webservices that deliver xml, json and csv responses
  59. Create custom webservice response formats if the build-in response formats are still not fit for purpose
  60. Manage events triggered within webservices and web applications
  61. Make use of the almost full-featured wiki syntax converter that can not only create html, but any structured output format
  62. Safe time by invoking http requests using the powerful build-in curl wrapper
  63. Store and load data items in a generic build-in key/value database (e.g. to store user settings) without extending the actual data model
  64. Comply with legal requirements by frontpaging your website with the build-in disclaimer module
  65. Safe more time by not re-inventing the straight forward contact form that converts user input on a website into an email
  66. Allow users to change they email address and invoke the email validation process again
  67. Enable users to specify a preferred gui language and a country specific locale setting
  68. Benefit from various array manipulation functions like making all strings in an array uppercase recursively and many more
  69. Read configuration data from files
  70. Apply the model view controller pattern to content pages, functional modules, and user interface elements
  71. Use the support for displaying monetary amounts in different currencies
  72. Make use of helper functions for date and time calculation
  73. Manage php provided error messages and warnings
  74. Send a file for http download
  75. Receive uploaded files
  76. Identify a user's preferred language based on the set browser language
  77. Inform yourself automatically if tests fail after roll-outs by using running scheduled tests scripts continuously
  78. Run shell commands and manage process output in all streams
  79. Use a variety of string manipulation and analysis functions
  80. Retrieve the load average of the host
  81. Convert variables from various types to another
  82. Render hexadecimal data
  83. Exchange layout on the fly without changing a single line of functional source code
  84. Create configurable layouts by applying parameters e.g. for colors to a html/css layout schema
Now this were 84 reasons why to use WDK and the list is growing.